Wrote tests for the new pair accessor type signatures.

original commit: 790658886b043085ec9f325e08565e52304cdd85
This commit is contained in:
Vincent St-Amour 2010-05-19 11:37:00 -04:00
parent 40360c095e
commit f824817aa9
2 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,48 @@
#lang typed/scheme
(define: x : (Listof (Listof Integer))
'((1 1 1) (2 2 2) (3 3 3) (4 4 4) (5 5 5)))
(ann (caar x) Integer)
(ann (cdar x) (Listof Integer))
(ann (cadr x) (Listof Integer))
(ann (cddr x) (Listof (Listof Integer)))
(ann (caadr x) Integer)
(ann (cdadr x) (Listof Integer))
(ann (cadar x) Integer)
(ann (cddar x) (Listof Integer))
(ann (caddr x) (Listof Integer))
(ann (cdddr x) (Listof (Listof Integer)))
(ann (caddar x) Integer)
(ann (cdddar x) (Listof Integer))
(ann (cadadr x) Integer)
(ann (cddadr x) (Listof Integer))
(ann (caaddr x) Integer)
(ann (cdaddr x) (Listof Integer))
(ann (cadddr x) (Listof Integer))
(ann (cddddr x) (Listof (Listof Integer)))
(define: y : (Listof (Listof (Listof Integer)))
'(((11 11) (12 12) (13 13))
((21 21) (22 22) (23 23))
((31 31) (32 32) (33 33))))
(ann (caaar y) Integer)
(ann (cdaar y) (Listof Integer))
(ann (cadaar y) Integer)
(ann (cddaar y) (Listof Integer))
(ann (caadar y) Integer)
(ann (cdadar y) (Listof Integer))
(ann (caaadr y) Integer)
(ann (cdaadr y) (Listof Integer))
(define: z : (Listof (Listof (Listof (Listof Integer))))
'((((111 111) (112 112))
((121 121) (122 122)))
(((211 211) (212 212))
((221 221) (222 222)))))
(ann (caaaar z) Integer)
(ann (cdaaar z) (Listof Integer))

View File

@ -0,0 +1,48 @@
#lang typed/scheme
(define: x : (Pair (Pair (Pair (Pair Integer String)
(Pair True Null))
(Pair (Pair False Char)
(Pair String Null)))
(Pair (Pair (Pair String Integer)
(Pair Float Null))
(Pair (Pair (Vectorof Float) True)
(Pair (Listof Float) False))))
'((((1 . "1") . (#t))
. ((#f . #\f) . ("2")))
. ((("3" . 4) . (1.0))
. ((#(2.0 3.0 4.0) . #t)
. ((2.0 3.0 4.0) . #f)))))
(ann (caar x) (Pair (Pair Integer String) (Pair True Null)))
(ann (caaar x) (Pair Integer String))
(ann (caaaar x) Integer)
(ann (cdaaar x) String)
(ann (cdaar x) (Pair True Null))
(ann (cadaar x) True)
(ann (cddaar x) Null)
(ann (cdar x) (Pair (Pair False Char) (Pair String Null)))
(ann (cadar x) (Pair False Char))
(ann (caadar x) False)
(ann (cdadar x) Char)
(ann (cddar x) (Pair String Null))
(ann (caddar x) String)
(ann (cdddar x) Null)
(ann (cadr x) (Pair (Pair String Integer) (Pair Float Null)))
(ann (caadr x) (Pair String Integer))
(ann (caaadr x) String)
(ann (cdaadr x) Integer)
(ann (cdadr x) (Pair Float Null))
(ann (cadadr x) Float)
(ann (cddadr x) Null)
(ann (cddr x) (Pair (Pair (Vectorof Float) True) (Pair (Listof Float) False)))
(ann (caddr x) (Pair (Vectorof Float) True))
(ann (caaddr x) (Vectorof Float))
(ann (cdaddr x) True)
(ann (cdddr x) (Pair (Listof Float) False))
(ann (cadddr x) (Listof Float))
(ann (cddddr x) False)