diff --git a/contrib/30.test/test.scm b/contrib/30.test/test.scm index 919a8b49..76455882 100644 --- a/contrib/30.test/test.scm +++ b/contrib/30.test/test.scm @@ -36,33 +36,34 @@ (define-syntax test (syntax-rules () ((test expected expr) + (test expected expr equal?)) + ((test expected expr =) (let ((res expr)) (display "case ") (write counter) - (cond - ((equal? res expected) - (display " PASS: ") - (write 'expr) - (display " equals ") - (write expected) - (display "") - (newline) - ) - ((not (equal? res expected)) - (set! failure-counter (+ failure-counter 1)) - (let ((out (open-output-string))) - (display " FAIL: " out) - (write 'expr out) - (newline out) - (display " expected " out) - (write expected out) - (display " but got " out) - (write res out) - (display "" out) - (newline out) - (let ((str (get-output-string out))) - (set! fails (cons str fails)) - (display str))))) + (if (= res expected) + (begin + (display " PASS: ") + (write 'expr) + (display " equals ") + (write expected) + (display "") + (newline)) + (begin + (set! failure-counter (+ failure-counter 1)) + (let ((out (open-output-string))) + (display " FAIL: " out) + (write 'expr out) + (newline out) + (display " expected " out) + (write expected out) + (display " but got " out) + (write res out) + (display "" out) + (newline out) + (let ((str (get-output-string out))) + (set! fails (cons str fails)) + (display str))))) (set! counter (+ counter 1)))))) (define-syntax test-values