scribble-enhanced/graph-lib/graph/tagged-test.rkt
2016-03-22 22:59:20 +01:00

19 lines
727 B
Racket

#lang typed/racket
(module test typed/racket
(require "tagged.lp2.rkt"
"../lib/low.rkt"
"../type-expander/type-expander.lp2.rkt")
(check-equal?: (match (ann (tagged t1 [x 1] [y "b"])
(tagged t1 [x : Number] [y : String]))
[(tagged t1 [x a] [y b]) (list 'ok b a)]
[_ #f])
'(ok "b" 1))
(check-equal?: (match (ann (tagged foo [x "o"] [y 3] [z 'z])
(tagged foo
[x String]
[z 'z]
[y Fixnum]))
[(tagged foo z x y) (list z y x)])
'(z 3 "o")))