(defun run-unit-test (unit-test) (if (funcall unit-test) (progn (print (cons t unit-test)) t) (progn (print (cons 'f unit-test)) nil))) (defun run-test-suite (test-suite) (if test-suite (cons (run-unit-test (car test-suite)) (run-test-suite (cdr test-suite))))) (defun unit (test-suite) (eval (cons 'and (run-test-suite test-suite)))) (defun assert (comparison expected actual) (if (funcall comparison expected actual) t (progn (print (list expected 'is 'not comparison actual)) nil))) (defun assert= (expected actual) (assert '= expected actual)) (defun assert-equal (expected actual) (assert 'equal expected actual))