;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: example.lisp
-;;;; Purpose: Example file for XLUnit
-;;;; Authors: Kevin Rosenberg and Craig Brozefsky
+;;;; ID: $Id$
+;;;; Purpose: Example file for XLUnit
;;;;
-;;;; $Id: example.lisp,v 1.3 2003/08/04 09:50:33 kevin Exp $
;;;; *************************************************************************
(defpackage #:xlunit-example
(in-package #:xlunit-example)
-;;; First we define some basic fixtures that we are going to need to
-;;; perform our tests. A fixture is a place to hold data we need
+;;; First we define some basic test-cases that we are going to need to
+;;; perform our tests. A test-case is a place to hold data we need
;;; during testing. Often there are many test cases that use the same
-;;; data. Each of these test cases is an instance of a test-fixture.
+;;; data. Each of these test cases is an instance of a test-case.
-(defclass math-fixture (test-fixture)
+(defclass math-test-case (test-case)
((numbera :accessor numbera)
(numberb :accessor numberb))
- (:documentation "Test fixture for math testing"))
+ (:documentation "Test test-case for math testing"))
-;;; Then we define a setup method for the fixture. This method is run
-;;; prior to perfoming any test with an instance of this fixture. It
+;;; Then we define a set-up method for the test-case. This method is run
+;;; prior to perfoming any test with an instance of this test-case. It
;;; should perform all initialization needed, and assume that it is starting
;;; with a pristine environment, well to a point, use your head here.
-(defmethod setup ((fix math-fixture))
- (setf (numbera fix) 2)
- (setf (numberb fix) 3))
+(defmethod set-up ((tcase math-test-case))
+ (setf (numbera tcase) 2)
+ (setf (numberb tcase) 3))
-;;; Then we define a teardown method, which should return the instance
-;;; to it's original form and reset the environment. In this case
-;;; there is little for us to do since the fixture is quite static.
-;;; In other cases we may need to clear some database tables, or
-;;; otherwise get rid of state built up while perofmring the test.
-;;; Here we just return T.
-(defmethod teardown ((fix math-fixture))
- t)
-
-;;; Once we hav a fixture we can start defining method on it which
-;;; will perform tests. These methods should take one argument, an
-;;; instance of the fixture. The method performs some operation and
-;;; then performs some tests to determine if the proper behavior
-;;; occured. If there is a failure to behave as excpeted the method
-;;; raises a test-failure object by calling the method FAILURE. This
-;;; is much like calling ERROR in that it stops processing that
-;;; method. Each method should only check for one aspect of behavior.
-;;; This way triggering one failure would not result in another
-;;; behavior check from being skipped. It does not matter what these
-;;; methods return
-
-(defmethod test-addition ((test math-fixture))
+(def-test-method test-addition ((test math-test-case) :run nil)
(let ((result (+ (numbera test) (numberb test))))
- (test-assert (= result 5))))
+ (assert-true (= result 5))))
-(defmethod test-subtraction ((test math-fixture))
+(def-test-method test-subtraction ((test math-test-case) :run nil)
(let ((result (- (numberb test) (numbera test))))
(assert-equal result 1)))
;;; This method is meant to signal a failure
-(defmethod test-subtraction-2 ((test math-fixture))
+(def-test-method test-subtraction-2 ((test math-test-case) :run nil)
(let ((result (- (numbera test) (numberb test))))
- (assert-equal result 1)))
+ (assert-equal result 1 "This is meant to failure")))
;;;; Finally we can run our test suite and see how it performs.
-(text-testrunner (make-test-suite 'math-fixture))
+(textui-test-run (get-suite math-test-case))