(defun ut::assert-equal (value form) (do (define fvalue (eval form)) (if (= value fvalue) 1 nil ) )) (defun ut::assert-true (test) (ut::assert-equal 1 test)) (defun ut::assert-false (test) (ut::assert-equal nil test)) (defun ut::define-test (name exp_list) (set! ut::tests_list (push ut::tests_list (list name exp_list)))) (defun ut::run-tests () (do (for t ut::tests_list (if (eval (index t 1)) (print (+ "OK -> " (index t 0))) (print (+ "ERR -> " (index t 0)))) ))) (define ut::tests_list '()) ; TODO (run-test name) ;; example of usage ;; (ut::define-test "je to dvojka" '(ut::assert-equal 2 (+ 1 1))) ;; (ut::define-test "je to trojka" '(ut::assert-equal 3 (+ 1 1))) ;; (ut::run-tests)