X-Git-Url: https://git.lukelau.me/?p=scheme.git;a=blobdiff_plain;f=tests.scm;h=2b6e09a4c2c63207707f061f722ca4ca3c377a66;hp=648ce073fbb97526b1a70e8327842a905dae35fa;hb=86531822ef58c5b29751976f5b41d1c631bdd459;hpb=190fc656a7b4e12e6fcf640c56e6ff71b5a39e40 diff --git a/tests.scm b/tests.scm index 648ce07..2b6e09a 100644 --- a/tests.scm +++ b/tests.scm @@ -45,15 +45,14 @@ (test (data-tors '(A . ((foo Int Bool) (bar Bool)))) - '((foo . (constructor . (abs Int (abs Bool A)))) - (foo~0 . (0 . (abs A Int))) - (foo~1 . (1 . (abs A Bool))) - (bar . (constructor . (abs Bool A))) - (bar~0 . (0 . ( - - abs A Bool))))) - -(test (data-tors-env + '((foo (A foo constructor) + abs Int (abs Bool A)) + (foo~0 (A foo 0) abs A Int) + (foo~1 (A foo 1) abs A Bool) + (bar (A bar constructor) abs Bool A) + (bar~0 (A bar 0) abs A Bool))) + +(test (data-tors-type-env '(A . ((foo Int Bool) (bar Bool)))) '((foo . (abs Int (abs Bool A))) @@ -227,7 +226,7 @@ ; adts and pattern matching -(test-prog '((data A [foo Int]) - (let ([(foo x) (foo 42)]) - x)) +(test-prog '((data A [foo Bool Int]) + (let ([(foo x y) (foo (= 3 3) 42)]) + y)) 42)