Wrote tests for the new pair accessor type signatures.

This commit is contained in:
Vincent St-Amour 2010-05-19 11:37:00 -04:00
parent f77e4eeb41
commit 790658886b
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)