2016-12-19 17:24:12 -05:00
|
|
|
(defun run-unit-test (unit-test)
|
2017-03-07 16:27:11 -05:00
|
|
|
(if (call unit-test)
|
2017-03-08 11:14:44 -05:00
|
|
|
(begin
|
2017-03-03 11:56:27 -05:00
|
|
|
(print (cons t unit-test))
|
2017-03-06 11:00:18 -05:00
|
|
|
t)
|
2017-03-08 11:14:44 -05:00
|
|
|
(begin
|
2017-03-03 15:06:49 -05:00
|
|
|
(print (cons 'f unit-test))
|
2017-03-06 11:00:18 -05:00
|
|
|
nil)))
|
2016-12-19 17:24:12 -05:00
|
|
|
|
|
|
|
(defun run-test-suite (test-suite)
|
2017-02-27 15:36:17 -05:00
|
|
|
(if test-suite
|
2017-03-03 11:56:27 -05:00
|
|
|
(cons
|
|
|
|
(run-unit-test (car test-suite))
|
2017-03-06 11:00:18 -05:00
|
|
|
(run-test-suite (cdr test-suite)))))
|
2016-12-19 17:24:12 -05:00
|
|
|
|
|
|
|
(defun unit (test-suite)
|
2017-03-08 11:14:44 -05:00
|
|
|
(apply 'and (run-test-suite test-suite)))
|
2017-02-15 09:29:57 -05:00
|
|
|
|
2017-03-08 14:48:40 -05:00
|
|
|
(defun assert (comparison operand1 operand2)
|
|
|
|
(if (call comparison operand1 operand2)
|
2017-02-27 15:36:17 -05:00
|
|
|
t
|
2017-03-08 11:14:44 -05:00
|
|
|
(begin
|
2017-03-08 14:48:40 -05:00
|
|
|
(print '==================================================)
|
|
|
|
(print (list comparison 'comparison 'failed))
|
|
|
|
(print operand1)
|
|
|
|
(print operand2)
|
|
|
|
(print '--------------------------------------------------)
|
2017-03-06 11:00:18 -05:00
|
|
|
nil)))
|
2017-03-03 11:56:27 -05:00
|
|
|
|
|
|
|
(defun assert= (expected actual)
|
2017-03-06 11:00:18 -05:00
|
|
|
(assert '= expected actual))
|
2017-03-03 11:56:27 -05:00
|
|
|
|
|
|
|
(defun assert-equal (expected actual)
|
2017-03-06 11:00:18 -05:00
|
|
|
(assert 'equal expected actual))
|