From 1670ba9a9f4d2ba39d0fcae519ad489f776f71fa Mon Sep 17 00:00:00 2001 From: VaclavT Date: Sat, 15 May 2021 13:29:15 +0200 Subject: [PATCH] small bit better unit testing --- stdlib/ut.lsp | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/stdlib/ut.lsp b/stdlib/ut.lsp index f52cf26..24ff328 100644 --- a/stdlib/ut.lsp +++ b/stdlib/ut.lsp @@ -1,17 +1,17 @@ (include "/usr/local/var/mlisp/terminal.lsp") -(defun ut::assert-equal (value form) (do - (define fvalue (eval form)) - (if (= value fvalue) - 1 - nil) +(defun ut::assert-equal (expected form) (do + (define returned (eval form)) + (if (= expected returned) + (list 1 expected returned) + (list nil expected returned)) )) (defun ut::assert-true (test) (ut::assert-equal 1 test)) (defun ut::assert-false (test) (ut::assert-equal nil test)) -(defun ut::assert-nil (test) (ut::assert-equal nil test)) +(defun ut::assert-nil (test) (ut::assert-false test)) (defun ut::define-test (name exp_list) (set! ut::tests_list (push ut::tests_list (list name exp_list)))) @@ -19,10 +19,15 @@ (defun ut::run-tests () (do (define oks 0) (define errs 0) - (for t ut::tests_list - (if (eval (index t 1)) - (do (set! oks (+ oks 1)) (print (+ (term-green "OK") " -> " (index t 0)))) - (do (set! errs (+ errs 1)) (print (+ (term-red "ERR") " -> " (index t 0))))) + (for t ut::tests_list + (define test_name (index t 0)) + (define test_result (eval (index t 1))) + (if (index test_result 0) + (do (set! oks (+ oks 1)) (print (+ (term-green "OK") " -> " test_name))) + (do (set! errs (+ errs 1)) + (print (+ (term-red "ERR") " -> " test_name)) + (print " " (index test_result 1) " <> " (index test_result 2)) + )) ) (if (= errs 0) (print (term-green (+ (string oks) " test(s) OK"))) @@ -37,4 +42,3 @@ ;; (ut::define-test "its number 2" '(ut::assert-equal 2 (+ 1 1))) ;; (ut::define-test "tis number 3" '(ut::assert-equal 3 (+ 1 1))) ;; (ut::run-tests) -