unit testing improvements
This commit is contained in:
@@ -71,7 +71,7 @@
|
||||
; TODO when nil will be implemented itm / nil
|
||||
(if (!= -1 found_index)
|
||||
1
|
||||
0)
|
||||
nil)
|
||||
))
|
||||
|
||||
(defun make-list-of (size val)
|
||||
|
||||
@@ -1,36 +1,38 @@
|
||||
(include "/usr/local/var/mlisp/terminal.lsp")
|
||||
|
||||
(defun ut::assert-equal (value form) (do
|
||||
(define fvalue (eval form))
|
||||
(if (= value fvalue)
|
||||
1
|
||||
nil
|
||||
)
|
||||
nil)
|
||||
))
|
||||
|
||||
(defun ut::assert-true (test)
|
||||
(ut::assert-equal 1 test))
|
||||
|
||||
(defun ut::assert-false (test)
|
||||
(ut::assert-equal nil test))
|
||||
(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
|
||||
(defun ut::run-tests () (do
|
||||
(define oks 0)
|
||||
(define errs 0)
|
||||
(for t ut::tests_list
|
||||
(if (eval (index t 1))
|
||||
(print (+ "OK -> " (index t 0)))
|
||||
(print (+ "ERR -> " (index t 0))))
|
||||
)))
|
||||
(do (set! oks (+ oks 1)) (print (+ (term-green "OK") " -> " (index t 0))))
|
||||
(do (set! errs (+ errs 1)) (print (+ (term-red "ERR") " -> " (index t 0)))))
|
||||
)
|
||||
(if (= errs 0)
|
||||
(print (term-green (+ (string oks) " test(s) OK")))
|
||||
(print (term-red (+ (string errs) " test(s) FAILED"))))
|
||||
))
|
||||
|
||||
(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::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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user