;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Id: $Id: tests.lisp,v 1.6 2003/08/04 12:28:46 kevin Exp $
+;;;; Id: $Id: tests.lisp,v 1.9 2003/08/04 19:31:34 kevin Exp $
;;;; Purpose: Test suite for XLUnit
;;;;
;;;; *************************************************************************
;; 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)))
-(defmethod test-error-method ((self was-run))
- (error "Err"))
+(def-test-method (test-error-method self was-run :run nil)
+ (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-fn ((self test-case-test))
- (let ((test (make-test 'was-run '"Test Failure"
- :test-fn
- (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)))))
+ (named-test 'test-broken-method (get-suite was-run))))))
-(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)))))
+(def-test-method (test-error-result self test-case-test :run nil)
+ (assert-equal "1 run, 1 erred, 0 failed"
+ (summary (run-test
+ (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)))))
+
-(text-testrunner (make-test-suite 'test-case-test) :handle-errors nil)
+(textui-test-run (get-suite test-case-test))
(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")))