Add IS-ALL macro. is-all
authorOlof-Joachim Frahm <olof@macrolet.net>
Sat, 15 Feb 2014 21:31:29 +0000 (22:31 +0100)
committerOlof-Joachim Frahm <olof@macrolet.net>
Sat, 15 Feb 2014 21:37:32 +0000 (22:37 +0100)
src/check.lisp
src/package.lisp

index cac6d0a..f7896c0 100644 (file)
@@ -209,6 +209,10 @@ REASON-ARGS is provided, is generated based on the form of TEST:
              (loop for (expr value) on clauses by #'cddr
                    collect `(is (,predicate ,expr ,value)))))))
 
+(defmacro is-all (&body clauses)
+  "The input is a list of tests. Generates (is ,clause) for each one."
+  `(progn ,@(mapcar (lambda (clause) `(is ,clause)) clauses)))
+
 (defmacro is-true (condition &rest reason-args)
   "Like IS this check generates a pass if CONDITION returns true
   and a failure if CONDITION returns false. Unlike IS this check
index ccee563..e8fed83 100644 (file)
@@ -43,6 +43,7 @@
    ;; running checks
    #:is
    #:is-every
+   #:is-all
    #:is-true
    #:is-false
    #:signals