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 |