r5453: *** empty log message ***
[xlunit.git] / assert.lisp
index 269e797af812df4c46f63a38e30d922d46b10e9b..d46eaeb530e469e85e3f70dfff4afde0a947ac64 100644 (file)
@@ -2,7 +2,7 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; ID:       $Id: assert.lisp,v 1.2 2003/08/04 12:16:13 kevin Exp $
+;;;; ID:       $Id: assert.lisp,v 1.5 2003/08/04 16:42:27 kevin Exp $
 ;;;; Purpose:  Assert functions for XLUnit
 ;;;;
 ;;;; *************************************************************************
 (in-package #:xlunit)
 
 
-;;; Assertions
-
-(define-condition test-failure-condition (simple-condition) 
-  ((msg :initform nil :initarg :msg :accessor msg))
+(define-condition assertion-failed (simple-condition) 
+  ((message :initform nil :initarg :message :accessor message))
   (:documentation "Base class for all test failures."))
 
 
-(defun failure (format-str &rest args)
+(defun failure-message (message &optional format-str &rest args)
   "Signal a test failure and exit the test."
-  (signal 'test-failure-condition
+  (signal 'assertion-failed
+         :message message
          :format-control format-str
          :format-arguments args))
 
-(defmacro test-assert (test &optional msg)
-  `(unless ,test
-    (failure "Test assertion: ~s" ',test)))
+(defun failure (format-str &rest args)
+  "Signal a test failure and exit the test."
+  (apply #'failure-message nil format-str args))
 
-(defun assert-equal (v1 v2 &optional msg)
+(defun assert-equal (v1 v2 &optional message)
   (unless (equal v1 v2)
-    (failure "Test equal: ~s ~s" v1 v2)))
+    (failure-message message "Test equal: ~S ~S" v1 v2)))
 
-(defun assert-true (v &optional msg)
-  (unless v
-    (failure "Test true: ~s [~A]" v (if msg msg ""))))
+(defun assert-eql (v1 v2 &optional message)
+  (unless (eql v1 v2)
+    (failure-message message "Test eql: ~S ~S" v1 v2)))
 
-(defun assert-false (v &optional msg)
-  (when v
-    (failure "Test false ~A" (if msg msg ""))))
+(defmacro assert-true (v &optional message)
+  `(unless ,v
+    (failure-message message "Not true: ~S" ',v)))
 
+(defmacro assert-false (v &optional message)
+  `(when ,v
+     (failure-message message "Not false: ~S" ',v)))