r5457: *** empty log message ***
[xlunit.git] / tests.lisp
index ef8ed7cf01b09b19da9a99ed82ee962d48ead6dd..0cba6c31ee836821a49826788d9da1aec744e292 100644 (file)
@@ -2,87 +2,93 @@
 ;;;; *************************************************************************
 ;;;; FILE IDENTIFICATION
 ;;;;
-;;;; Name:        tests.lisp
-;;;; Purpose:     Test suite for XLUnit
-;;;; Author:     Kevin Rosenberg
+;;;; Id:      $Id: tests.lisp,v 1.10 2003/08/04 19:42:18 kevin Exp $
+;;;; Purpose: Test suite for XLUnit
 ;;;;
-;;;; Put in public domain by Kevin Rosenberg
-;;;; $Id: tests.lisp,v 1.4 2003/08/04 12:01:54 kevin Exp $
 ;;;; *************************************************************************
 
+(in-package #:cl-user)
 (defpackage #:xlunit-tests
-  (:use #:cl #:xlunit))
-
+  (:use #:cl #:xlunit)
+  (:export #:do-tests))
 (in-package #:xlunit-tests)
 
 
 ;; Helper test fixture
-(defclass was-run (test-fixture)
+
+(defclass was-run (test-case)
   ((log :accessor ws-log)))
 
-(defmethod setup ((self was-run))
-  (setf (ws-log self) "setup "))
+(defmethod set-up ((self was-run))
+    (setf (ws-log self) "setup "))
 
-(defmethod teardown ((self was-run))
-  (setf (ws-log self) (concatenate 'string (ws-log self) "teardown ")))
+(defmethod tear-down ((self was-run))
+  (setf (ws-log self)
+       (concatenate 'string (ws-log self) "teardown ")))
 
-(defmethod test-method ((self was-run))
-  (setf (ws-log self) (concatenate 'string (ws-log self) "test-method ")))
+(def-test-method (test-method self was-run :run nil)
+    (setf (ws-log self) 
+      (concatenate 'string (ws-log self) "test-method ")))
 
-(defmethod test-broken-method ((self was-run))
-  (assert-equal pi (/ 22 7)))
+(def-test-method (test-broken-method self was-run :run nil)
+    (assert-equal pi (/ 22 7)))
+
+(def-test-method (test-error-method self was-run :run nil)
+    (error "Err"))
 
-(defmethod test-error-method ((self was-run))
-  (error "Err"))
 
 ;;; Main test fixture
 
-(defclass test-case-test (test-fixture)
+(defclass test-case-test (test-case)
   ())
 
-(defmethod test-template-method ((self test-case-test))
-  (let ((test (make-test 'was-run 'test-method)))
-    (run-test test)
+
+(def-test-method (test-template-method self test-case-test :run nil)
+  (let ((test (named-test 'test-method (get-suite was-run))))
+    (run test)
     (assert-equal (ws-log test) "setup test-method teardown ")))
 
-(defmethod test-result ((self test-case-test))
+(def-test-method (test-results self test-case-test :run nil)
   (assert-equal "1 run, 0 erred, 0 failed" 
-               (summary (run-test (make-test 'was-run 'test-method)))))
-
-(defmethod test-thunk ((self test-case-test))
-  (let ((test (make-test 'was-run '"Test Failure"
-                        :test-thunk
-                        (lambda (test
-                          (declare (ignore test))
-                          (assert-equal 10 10)))))
+               (summary (run (named-test 'test-method (get-suite was-run))))))
+
+(def-test-method (test-fn self test-case-test :run nil)
+  (let ((test (make-instance 'test-case :name 'test-fn
+                             :method-body
+                             (lambda (
+                               (declare (ignore test))
+                               (assert-equal 10 10)))))
     (assert-equal "1 run, 0 erred, 0 failed"
-                 (summary (run-test test)))))
+                 (summary (run test)))))
 
-(defmethod test-failed-result ((self test-case-test))
+(def-test-method (test-failed-result self test-case-test :run nil)
   (assert-equal "1 run, 0 erred, 1 failed"
-               (summary (run-test
-                         (make-test 'was-run 'test-broken-method)))))
-
-(defmethod test-error-result ((self test-case-test))
-  (assert-equal "1 run, 1 erred, 0 failed"
-               (summary (run-test
-                         (make-test 'was-run 'test-error-method)))))
+               (summary (run
+                         (named-test 'test-broken-method
+                                     (get-suite was-run))))))
+
+(def-test-method (test-error-result self test-case-test :run nil)
+    (assert-equal "1 run, 1 erred, 0 failed"
+                 (summary (run
+                           (named-test 'test-error-method
+                                       (get-suite was-run))))))
   
-(defmethod test-suite ((self test-case-test))
-  (let ((suite (make-test-suite "TestSuite"))
-       (result (make-test-result)))
-    (add-test (make-test 'was-run 'test-method) suite)
-    (add-test (make-test 'was-run 'test-broken-method) suite)
-    (run-test suite :result result)
+(def-test-method (test-suite self test-case-test :run nil)
+  (let ((suite (make-instance 'test-suite))
+       (result (make-test-results)))
+    (add-test suite (named-test 'test-method (get-suite was-run)))
+    (add-test suite (named-test 'test-broken-method (get-suite was-run)))
+    (run-on-test-results suite result)
     (assert-equal "2 run, 0 erred, 1 failed" (summary result))))
 
-(defmethod test-dynamic-suite ((self test-case-test))
+(def-test-method (test-dynamic-suite self test-case-test :run nil)
   (assert-equal "3 run, 1 erred, 1 failed" 
-               (summary (run-test (make-test-suite 'was-run)))))
+               (summary (run (get-suite was-run)))))
+
+
+(textui-test-run (get-suite test-case-test))
 
-(text-testrunner (make-test-suite 'test-case-test) :handle-errors nil)
 
 (defun do-tests ()
-  (or (was-successful 
-       (run-test (make-test-suite 'test-case-test)))
+  (or (was-successful (run (get-suite test-case-test)))
       (error "Failed tests")))