1 2-module(fib). 3-export([fib/1]). 4-include_lib("eunit/include/eunit.hrl"). 5 6fib(0) -> 1; 7fib(1) -> 1; 8fib(N) when N > 1 -> fib(N-1) + fib(N-2). 9 10fib_test_() -> 11 [?_assert(fib(0) =:= 1), 12 ?_assert(fib(1) =:= 1), 13 ?_assert(fib(2) =:= 2), 14 ?_assert(fib(3) =:= 3), 15 ?_assert(fib(4) =:= 5), 16 ?_assert(fib(5) =:= 8), 17 ?_assertException(error, function_clause, fib(-1)), 18 ?_assert(fib(31) =:= 2178309) 19 ]. 20