From e6c4b50adf370420d7bff35cf2d601641519d0b5 Mon Sep 17 00:00:00 2001 From: Enrico Lumetti Date: Mon, 26 Apr 2021 19:04:20 +0200 Subject: [PATCH] Reorganize tests --- c2.scm | 22 +--------------------- test-c2.scm | 19 +++++++++++++++++++ test-util.scm | 8 ++++++++ 3 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 test-c2.scm create mode 100644 test-util.scm diff --git a/c2.scm b/c2.scm index 0f6ce15..bbdc2af 100644 --- a/c2.scm +++ b/c2.scm @@ -2,6 +2,7 @@ (require racket/fixnum) +(provide interp-R1 interp-exp env-head-value env-head-symbol eval-symbol add-binding) (define (interp-R1 env) (lambda (p) @@ -40,24 +41,3 @@ [(equal? env `()) (error "Symbol " s " not found")] [(equal? (env-head-symbol env) s) (env-head-value env)] [else (eval-symbol (cdr env) s)])) - - -(define (test-eq a b) - (if (equal? a b) #t (error "assert failed: " a " != " b))) - -(define (ppexp exp) (begin (print (exp)) (newline))) - -(test-eq (env-head-value `((a 1))) 1) -(test-eq (env-head-symbol `((a 1))) `a) -(test-eq (eval-symbol `((a 1)) `a) 1) -(test-eq - (let ([env `((a 1) (b 2))]) - ((interp-exp env) `(+ a (- b)))) - -1) -(test-eq - ((interp-exp `()) `(let ([a (+ 1 2)]) (+ a 3))) - 6) - -(test-eq - ((interp-R1 `()) `(program `() (let ([a (+ 1 2)]) (+ a 3)))) - 6) diff --git a/test-c2.scm b/test-c2.scm new file mode 100644 index 0000000..9b0c21c --- /dev/null +++ b/test-c2.scm @@ -0,0 +1,19 @@ +#lang racket + +(require "test-util.scm") +(require "c2.scm") + +(test-eq (env-head-value `((a 1))) 1) +(test-eq (env-head-symbol `((a 1))) `a) +(test-eq (eval-symbol `((a 1)) `a) 1) +(test-eq + (let ([env `((a 1) (b 2))]) + ((interp-exp env) `(+ a (- b)))) + -1) +(test-eq + ((interp-exp `()) `(let ([a (+ 1 2)]) (+ a 3))) + 6) + +(test-eq + ((interp-R1 `()) `(program `() (let ([a (+ 1 2)]) (+ a 3)))) + 6) diff --git a/test-util.scm b/test-util.scm new file mode 100644 index 0000000..b907957 --- /dev/null +++ b/test-util.scm @@ -0,0 +1,8 @@ +#lang racket + +(provide test-eq ppexp) + +(define (test-eq a b) + (if (equal? a b) #t (error "assert failed: " a " != " b))) + +(define (ppexp exp) (begin (print exp) (newline)))