From c5ff0f761f88a9e7479ebfaa677962968e08aae7 Mon Sep 17 00:00:00 2001 From: Gary King Date: Tue, 9 Feb 2010 11:21:48 -0500 Subject: [PATCH] Started to add ensure-member and ensure-every --- dev/macros.lisp | 13 +++++++++++++ dev/packages.lisp | 5 ++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/dev/macros.lisp b/dev/macros.lisp index 06a8502..73fcde1 100644 --- a/dev/macros.lisp +++ b/dev/macros.lisp @@ -410,6 +410,19 @@ is generated instead of a warning" ;; return true if we're happy t)))) +#+(or) +(defmacro ensure-member + (form values &key (test nil test-specified-p) + (report nil) (arguments nil)) + "`ensure-member` checks to see if `form` is a member of `values`. + +`test` is used as an argument to `member`. If `form` is not a +`member`, then ensure-member raises a warning which uses `report` as a +format string and `arguments` as arguments to that string (if report +and arguments are supplied). If `ensure-member` is used within a test, a +test failure is generated instead of a warning" +) + (defmacro with-test-slots (&body body) `(symbol-macrolet ((lift-result (getf (test-data *current-test*) :result))) ;; case111 - LW complains otherwise diff --git a/dev/packages.lisp b/dev/packages.lisp index b6d7acd..a804d22 100644 --- a/dev/packages.lisp +++ b/dev/packages.lisp @@ -99,7 +99,10 @@ #:ensure-warning #:ensure-error #:ensure-no-warning - + #:ensure-member + #:ensure-some + #:ensure-every + ;; test protocol #:do-test -- 2.11.4.GIT