Merge pull request #299 from omasanori/extend-test

Extend test
This commit is contained in:
OGINO Masanori 2015-07-21 15:25:46 +09:00
commit 643d86c709
1 changed files with 25 additions and 24 deletions

View File

@ -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