(def! n-fib (fn* [n] (if (< n 2) n ; base (+ (n-fib (- n 1)) (n-fib (- n 2)))))) ; recursive (def! assert-fib (fn* [n expected] ; check fibonacci result (if (not (= (n-fib n) expected)) (do (prn (list "Expected" expected "got" (n-fib n))) (assert nil))))) ; 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)