Converts a test-result object into TAP format. Two new functions: * `write-tap` * `write-tap-to-file` To manage the indentation levels TAP wants, this uses [pprint-logical-block] and heavily uses the [~I] format directive, which is shorthand for [pprint-indent]. This gets a little tricky because indentation levels only take effect after a newline. [pprint-logical-block]: http://www.lispworks.com/documentation/HyperSpec/Body/m_ppr_lo.htm [~I]: http://www.lispworks.com/documentation/HyperSpec/Body/22_cec.htm [pprint-indent]: http://www.lispworks.com/documentation/HyperSpec/Body/f_ppr_in.htm refs #3
Move the DEFPACKAGE form back into lisp-unit.lisp. All of the exported symbols for the extensions are now defined in the respective extension file using an EXPORT form. The ASDF form now is only required if using the extensions.
Expanded the testing interface with RATIONAL-EQUAL, FLOAT-EQUAL and NORM-EQUAL. These are implemented as generic functions that operate on atoms, sequences and arrays. In the case of sequences and arrays, RATIONAL-EQUAL and FLOAT-EQUAL perform and element-wise comparison for equality. NORM-EQUAL performs the test for equality on the relative error norm of the sequence or array.
This is a place to jot down ideas for extensions. TODO items don't have to be implemented, it is perfectly acceptable to mark them off the list as well. Also added the MIT copyright from the original lisp-unit.lisp file to all of the files.
Moved the package definition to defpackage.lisp and the floating point related functions to floating-point.lisp. This was motivated by the desire to track any changes made to the original LISP-UNIT by the author. By separating additional functionality into other files, it will be easier to identify differences in lisp-unit.lisp.
This is a copy/fork of Christopher K. Riesbeck's unit testing library for lisp. Modfications to make it ASDF loadable and a predicate for comparing floating point numbers have been added, but it is otherwise unmodified.