test: Add new macros.

* module/mes/test.mes (pass-if-equal, expect-fail): New macros.
This commit is contained in:
Jan Nieuwenhuizen 2016-10-30 23:28:57 +01:00
parent 0bf26fa7d2
commit d2768796dc
1 changed files with 14 additions and 0 deletions

View File

@ -65,12 +65,26 @@
(newline)
#f)))
(define (sequal2? expect actual)
(or (equal? expect actual)
(begin
(display ": fail") (newline)
(display "expected: ") (display expect) (newline)
(display "actual: ") (display actual) (newline)
#f)))
(define-macro (pass-if name t)
(list
'begin
(list display "test: ") (list display name)
(list result t)))
(define-macro (pass-if-equal name expect . body)
`(pass-if ,name (sequal2? ,expect (begin ,@body))))
(define-macro (expect-fail name expect . body)
`(pass-if ,name (not (sequal2? ,expect (begin ,@body)))))
(define-macro (pass-if-not name f)
(list
'begin