Fix make-array transforms.
[sbcl.git] / tests / assertoid.lisp
index 6f75873..a2bbd52 100644 (file)
@@ -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")
 
 ;;; 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))))