Some more tests

- Added hook pre-commit
- Added some reader tests
- Added some eval tests
- Added functional tests

Signed-off-by: teo3300 <matteo.rogora@live.it>
This commit is contained in:
teo3300
2023-11-25 20:30:21 +09:00
parent 2d5791a766
commit 0cbfaaafec
9 changed files with 176 additions and 22 deletions

21
tests/fibonacci.mal Normal file
View File

@ -0,0 +1,21 @@
(def! n-fib (fn* (n)
(if (<= n 0) 0 ; 0 base case
(if (= n 1) 1 ; 1 base case
(+ (n-fib (- n 1)) (n-fib (- n 2))))))) ; recursive
(def! assert-fib (fn* (n expected) ; check fibonacci result
(if (= (n-fib n) expected) nil
(do (prn (list
"Expected"
expected
"got"
(n-fib n)))
(assert false))))) ; cause test panic
(assert-fib 0 0)
(assert-fib 1 1)
(assert-fib 2 1)
(assert-fib 3 2)
(assert-fib 4 3)
(assert-fib 5 5)
(assert-fib 6 8)