X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fassertoid.lisp;h=a2bbd52248eaa0d0129c938b71f182b07985b5d2;hb=062283b901155792f65775491aea51481c56faaa;hp=6f758730d401948a0fb3d2c9efee2feedf09313d;hpb=4898ef32c639b1c7f4ee13a5ba566ce6debd03e6;p=sbcl.git diff --git a/tests/assertoid.lisp b/tests/assertoid.lisp index 6f75873..a2bbd52 100644 --- a/tests/assertoid.lisp +++ b/tests/assertoid.lisp @@ -14,7 +14,7 @@ (cl:defpackage "ASSERTOID" (:use "CL") - (:export "GRAB-CONDITION" "RAISES-ERROR?" "ASSERTOID")) + (:export "GRAB-CONDITION" "RAISES-ERROR?" "IS" "ASSERTOID")) (cl:in-package "ASSERTOID") @@ -113,3 +113,14 @@ ;;; not implemented yet: #+nil (assertoid (length (eval (find-package :cl))) :expected-error-type 'type-error) + +(defmacro is (form) + (if (consp form) + (destructuring-bind (op expected real) form + `(let ((expected-value ,expected) + (real-value ,real)) + (unless (,op expected-value real-value) + (error "Wanted ~S, got ~S:~% ~S" + expected-value real-value ',form)))) + `(unless ,form + (error "~S evaluated to NIL" ',form))))