tests/test.min
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
;; test module
(
("OK") ' .ok
(" " print!) .padding
;; describe
(
.name
"Testing: " print! name puts!
padding
()
) :describe
;; assert
(
' .check ; save the check quotation to validate
' .results ; save the result symbol to update
(check -> true ==)
(
ok results append quote :results
"." print!
)
(
check results append quote :results
"x" print!
)
ifte
results
) :assert
;; report
(
' .results ; save the results collected so far
0 .total
0 .failed
results (
total succ :total
(ok !=) (failed succ :failed) () ifte
) map
padding total print! " tests executed - " print! failed print! " failed." puts!
(
' .result
result
(ok !=)
(padding "FAILED: " print! result puts!)
()
ifte
)
map
) :report
) =test
#test
; Sample unit test program
"maths" describe
(2 3 ==) assert
(2 1 >) assert
(2 1 <) assert
(4 4 ==) assert
(7 7 ==) assert
newline
report
|