From d2768796dc15aa63c5df964df2d461f40eb0c522 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 30 Oct 2016 23:28:57 +0100 Subject: [PATCH] test: Add new macros. * module/mes/test.mes (pass-if-equal, expect-fail): New macros. --- module/mes/test.mes | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/module/mes/test.mes b/module/mes/test.mes index ea690e79..3895606a 100644 --- a/module/mes/test.mes +++ b/module/mes/test.mes @@ -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