unit testing very begining
This commit is contained in:
parent
91fce00df3
commit
95dfbadd88
|
|
@ -0,0 +1,36 @@
|
||||||
|
|
||||||
|
(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::asertt-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)
|
||||||
|
|
||||||
|
|
@ -1,4 +1,10 @@
|
||||||
; it is expected to be called from parent directory ie: ml -f tests/test.lisp
|
; it is expected to be called from parent directory ie: ml -f tests/test.lisp
|
||||||
|
(include "/usr/local/var/mlisp/terminal.lsp")
|
||||||
|
|
||||||
|
;; unit tests could be in this way
|
||||||
|
;; (include "/usr/local/var/mlisp/ut.lsp")
|
||||||
|
;; (ut::define-test "result of (and (> 2 1) (> 2 1))" '(ut::assert-true (and (> 2 1) (> 2 1))))
|
||||||
|
;; (ut::run-tests)
|
||||||
|
|
||||||
(print "Test starts")
|
(print "Test starts")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue