Next: Test Anything Protocol Extensions, Previous: How To Use Lisp-Unit, Up: Lisp Unit [Contents][Index]
> (in-package :cs325-user)
#<PACKAGE CS325-USER>
> (define-test pick-greater
(assert-equal 5 (pick-greater 2 5))
(assert-equal 5 (pick-greater 5 2))
(assert-equal 10 (pick-greater 10 10))
(assert-equal 0 (pick-greater -5 0))
)
==> PICK-GREATER
Following good test-first programming practice, we run these tests before writing any code.
> (run-tests pick-greater) ==> PICK-GREATER: Undefined function PICK-GREATER called with arguments (2 5).
This shows that we need to do some work. So we define our broken version of
pick-greater.
> (defun pick-greater (x y) x) ;; deliberately wrong
PICK-GREATER
Now we run the tests again:
> (run-tests pick-greater) PICK-GREATER: (PICK-GREATER 2 5) failed: Expected 5 but saw 2 PICK-GREATER: (PICK-GREATER -5 0) failed: Expected 0 but saw -5 PICK-GREATER: 2 assertions passed, 2 failed.
This shows two failures. In both cases, the equality test returned ‘NIL’. In
the first case it was because (pick-greater 2 5) returned 2 when 5 was
expected, and in the second case, it was because (pick-greater -5 0) returned
-5 when 0 was expected.