from driver import testCase testCase( "620", """ (define (thefunc) (* (/ (- 50 10) 2) (+ 30 1))) (define (smain) (thefunc)) """, ) testCase( "620", """ (define (thefunc a b) (* (/ (- a b) 2) (+ 30 1))) (define (smain) (thefunc 50 10)) """, )
from driver import testCase testCase('100', """ (define (smain) (let ((a 42) (b 43) (c 99)) (- (+ c b) a) ) ) """) testCase('97', """ (define (smain) (let ((a (+ 42 1)) (b (* 43 3)) (c (/ 99 9))) (- (+ c b) a) ) ) """)
from driver import testCase testCase('620', "(define (smain) (* (/ (- 50 10) 2) (+ 30 1)))")
from driver import testCase testCase('42', "(define (smain) 42)") testCase('99', "(define (smain) 99)") testCase('-123941234', "(define (smain) -123941234)")
from driver import testCase testCase("25", "(define (smain) (+ 20 5))") testCase("15", "(define (smain) (- 20 5))") testCase("100", "(define (smain) (* 20 5))") testCase("4", "(define (smain) (/ 20 5))") testCase("0", "(define (smain) (% 20 5))") testCase("21", "(define (smain) (| 20 1))") testCase("0", "(define (smain) (& 20 1))") testCase("21", "(define (smain) (^ 20 1))") testCase("16", "(define (smain) (^ 20 4))") testCase("10", "(define (smain) (>> 20 1))") testCase("40", "(define (smain) (<< 20 1))")
from driver import testCase testCase('4', """ (define ((: smain u8)) (+u8 250 10) ) """) testCase('28', """ (define ((: smain u8)) (let ( ((: a u8) 250) ((: b u8) 10) ((: c u8) 7) ) (*u8 (+u8 a b) c) ) ) """) testCase('4', """ (define ((: foo u8) (: a u8) (: b u8)) (+u8 a b) ) (define ((: smain u8)) (foo 250 10) ) """)
from driver import testCase testCase('8', """ (define a 42) (define b 50) (define (smain) (- b a) ) """)
from driver import testCase testCase('-4', """ (define (smain) (+ 8 -12) ) """) testCase('-10', """ (define (smain) (/ -50 5) ) """) testCase('-3', """ (define (smain) (% -53 5) ) """)