47 lines
994 B
Elixir
47 lines
994 B
Elixir
defmodule KoansHarnessTest do
|
|
use ExUnit.Case
|
|
|
|
test "Equalities" do
|
|
answers = [true,
|
|
1,
|
|
2,
|
|
1,
|
|
:something]
|
|
|
|
test_all(Equalities, answers)
|
|
end
|
|
|
|
test "Lists" do
|
|
answers = [1,
|
|
3,
|
|
[1,2,:a,"b"],
|
|
[1,2],
|
|
[1,2,3],
|
|
[1,3],
|
|
["life", "life", "life"],
|
|
[1, 2, 3, 4, 5],
|
|
[1, 2, 3, 4],
|
|
[1, 4, 2, 3],
|
|
[10, 2, 3],
|
|
[1, 2, 3],
|
|
[1, 2, 3, 4],
|
|
[1, 2, 3, 4],
|
|
{1, 2, 3},
|
|
["value"],
|
|
[{1, 3, 5}, {2, 4, 6}]
|
|
]
|
|
|
|
test_all(Lists, answers)
|
|
end
|
|
|
|
def test_all(module, answers) do
|
|
module.all_koans
|
|
|> Enum.zip(answers)
|
|
|> run_all(module)
|
|
end
|
|
|
|
def run_all(pairs, module) do
|
|
Enum.map(pairs, fn ({koan, answer}) -> Runner.run_koan(module, koan, [answer]) end)
|
|
end
|
|
end
|