X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests.lisp;h=101125a21730ba790a91f89cf33ba6aa13dd11e7;hb=bee53ea40ad9caeeed1e7392d1f59127df7512ac;hp=9f2302adb23af5263f0a1aab3fa71b21c6344218;hpb=95c39c23a9d9db5b42fbc784ac75557fb1eb1a60;p=xlunit.git diff --git a/tests.lisp b/tests.lisp index 9f2302a..101125a 100644 --- a/tests.lisp +++ b/tests.lisp @@ -3,20 +3,88 @@ ;;;; FILE IDENTIFICATION ;;;; ;;;; Name: tests.lisp -;;;; Purpose: Test suite for XLTest +;;;; Purpose: Test suite for XLUnit ;;;; Author: Kevin Rosenberg ;;;; ;;;; Put in public domain by Kevin Rosenberg -;;;; $Id: tests.lisp,v 1.1 2003/08/04 06:00:01 kevin Exp $ +;;;; $Id: tests.lisp,v 1.3 2003/08/04 09:50:33 kevin Exp $ ;;;; ************************************************************************* -(defpackage #:xltest-tests - (:use #:cl #:xltest)) +(defpackage #:xlunit-tests + (:use #:cl #:xlunit)) -(in-package #:xltest-tests) +(in-package #:xlunit-tests) -(defclass xltests (test-fixture) - () - ) +(defclass was-run (test-fixture) + ((log :accessor ws-log))) + + +(defmethod setup ((self was-run)) + (setf (ws-log self) "setup ")) + +(defmethod teardown ((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 "))) + +(defmethod test-broken-method ((self was-run)) + (assert-equal pi (/ 22 7))) + +(defmethod test-error-method ((self was-run)) + (error "Err")) + +(defclass test-case-test (test-fixture) + ((result :accessor result))) + +(defmethod setup ((self test-case-test)) + (setf (result self) (make-instance 'test-result))) + +(defmethod test-template-method ((self test-case-test)) + (let ((test (make-test 'was-run 'test-method))) + (run-test test (result self)) + (assert-equal (ws-log test) "setup test-method teardown "))) + +(defmethod test-result ((self test-case-test)) + (let ((test (make-test 'was-run 'test-method))) + (run-test test (result self)) + (assert-equal "1 run, 0 errored, 0 failed" (summary (result self))))) + +(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))))) + (run-test test (result self)) + (assert-equal "1 run, 0 errored, 0 failed" + (summary (result self))))) + +(defmethod test-failed-result ((self test-case-test)) + (let ((test (make-test 'was-run 'test-broken-method))) + (run-test test (result self)) + (assert-equal "1 run, 0 errored, 1 failed" + (summary (result self))))) + +(defmethod test-error-result ((self test-case-test)) + (let ((test (make-test 'was-run 'test-error-method))) + (run-test test (result self)) + (assert-equal "1 run, 1 errored, 0 failed" + (summary (result self))))) + +(defmethod test-suite ((self test-case-test)) + (let ((suite (make-test-suite "TestSuite"))) + (add-test (make-test 'was-run 'test-method) suite) + (add-test (make-test 'was-run 'test-broken-method) suite) + (run-test suite (result self))) + (assert-equal "2 run, 0 errored, 1 failed" + (summary (result self)))) + +(defmethod test-dynamic-suite ((self test-case-test)) + (let ((suite (make-test-suite 'was-run))) + (run-test suite (result self))) + (assert-equal "3 run, 1 errored, 1 failed" + (summary (result self)))) + +(text-testrunner (make-test-suite 'test-case-test)) -(defmethod xltes