From 14d6b476bdcd909f99749ebc231cc0e38d121efd Mon Sep 17 00:00:00 2001 From: Enrico Lumetti Date: Wed, 10 Aug 2022 23:28:09 +0200 Subject: [PATCH] Fix subtraction, convert tests to rackunit --- rint.rkt | 1 + test-rint.rkt | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/rint.rkt b/rint.rkt index d91bdaf..8ebd440 100644 --- a/rint.rkt +++ b/rint.rkt @@ -21,6 +21,7 @@ [(Int n) n] [(Prim 'read '()) (read-fixnum)] [(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))])) (define (interp-RInt p) diff --git a/test-rint.rkt b/test-rint.rkt index 94e8a1b..794fe73 100644 --- a/test-rint.rkt +++ b/test-rint.rkt @@ -15,11 +15,16 @@ (define test-rint-tests (test-suite "RInt interpretation tests" - (test-case + (test-case "program with input" (check-equal? -5 (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)))))))))