/
recursion_tests.erl
55 lines (41 loc) · 1.45 KB
/
recursion_tests.erl
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
%
% F.Cesarini & S.Thomson, Erlang Programming, p.420.
% Exercise 19-1: Testing sequential functions
%
-module(recursion_tests).
-include_lib("eunit/include/eunit.hrl").
bump_test() ->
?assertEqual([2,3,4], recursion:bump([1,2,3])).
average_test_() -> [
?_assertEqual(2.5, recursion:average([1,2,3,4])),
?_assertEqual(2.0, recursion:average([1,2,3]))
].
sum1_test() ->
?assertEqual(10, recursion:sum(4)).
sum2_test() ->
?assertEqual(12, recursion:sum(3,5)).
create1_test() ->
?assertEqual([1,2,3,4], recursion:create(4)).
create2_test() ->
?assertEqual([3,4,5], recursion:create(3,5)).
filter_test() ->
?assertEqual([1,2,3], recursion:filter([1,2,3,4,5], 3)).
reverse_test() ->
?assertEqual([5,4,3,2,1], recursion:reverse([1,2,3,4,5])).
concatenate_test() ->
?assertEqual([1,2,3,4,5,6], recursion:concatenate([[1,2,3], [4], [5,6]])).
flatten_test() ->
?assertEqual([1,2,3,4,5,6], recursion:flatten([[1,[2,[3],[]]], [[[4]]], [5,6]])).
merge_test_() -> [
?_assertEqual([1,2,3,4], recursion:merge([1,3], [2,4])),
?_assertEqual([1,2,3], recursion:merge([1,3], [2]))
].
qsort_test() ->
?assertEqual([1,2,3,4,5,6], recursion:qsort([1,6,2,5,3,4])).
pqsort_test() ->
?assertEqual([1,2,3,4,5,6], recursion:pqsort([1,6,2,5,3,4])).
msort_test_() -> [
?_assertEqual([], recursion:msort([])),
?_assertEqual([1], recursion:msort([1])),
?_assertEqual([3,9,10,27,38,43,82], recursion:msort([38,27,43,3,9,82,10]))
].