Fix subtraction, convert tests to rackunit

This commit is contained in:
Enrico Lumetti 2022-08-10 23:28:09 +02:00
parent a4dd0ded8f
commit 14d6b476bd
2 changed files with 8 additions and 2 deletions

View File

@ -21,6 +21,7 @@
[(Int n) n] [(Int n) n]
[(Prim 'read '()) (read-fixnum)] [(Prim 'read '()) (read-fixnum)]
[(Prim '- (list e)) (fx- 0 (interp-exp e))] [(Prim '- (list e)) (fx- 0 (interp-exp e))]
[(Prim '- (list e1 e2)) (fx- (interp-exp e1) (interp-exp e2))]
[(Prim '+ (list e1 e2)) (fx+ (interp-exp e1) (interp-exp e2))])) [(Prim '+ (list e1 e2)) (fx+ (interp-exp e1) (interp-exp e2))]))
(define (interp-RInt p) (define (interp-RInt p)

View File

@ -20,6 +20,11 @@
(check-equal? (check-equal?
-5 -5
(with-input-from-num-list '(3) (with-input-from-num-list '(3)
(lambda () (interp-RInt program))))))) (lambda () (interp-RInt program)))))
(test-case
"simple difference"
(check-equal?
-3
(interp-RInt (Program '() (Prim '- (list (Int 5) (Int 8)))))))))