Skip to content

Commit ab17fe1

Browse files
committed
Reverse a list
1 parent dd0fa55 commit ab17fe1

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

exercise_2.18.exs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
defmodule Reverse do
2+
def of(list), do: of(list, [])
3+
4+
defp of([], reversed), do: reversed
5+
defp of([head | tail], reversed), do: of(tail, [head | reversed])
6+
end
7+
8+
ExUnit.start
9+
10+
defmodule ReverseTest do
11+
use ExUnit.Case, async: true
12+
13+
test "it reverses empty lists" do
14+
assert Reverse.of([]) == []
15+
end
16+
17+
test "it reverses one element lists" do
18+
assert Reverse.of([1]) == [1]
19+
end
20+
21+
test "it reverses lists of many elements" do
22+
assert Reverse.of([1, 4, 9, 16, 25]) == [25, 16, 9, 4, 1]
23+
end
24+
end

0 commit comments

Comments
 (0)