Use koan assertions to fail the tests

This commit is contained in:
Uku Taht
2016-03-12 16:11:32 +02:00
parent 0eb715d4ca
commit 031258e086
2 changed files with 4 additions and 15 deletions

View File

@@ -8,7 +8,7 @@ defmodule KoansHarnessTest do
1,
:something]
assert test_all(Equalities, answers) == :all_passed
test_all(Equalities, answers)
end
test "Lists" do
@@ -31,23 +31,16 @@ defmodule KoansHarnessTest do
[{1, 3, 5}, {2, 4, 6}]
]
assert test_all(Lists, answers) == :all_passed
test_all(Lists, answers)
end
def test_all(module, answers) do
module.all_koans
|> Enum.zip(answers)
|> run_all(module)
|> passed?
|> results
end
def run_all(pairs, module) do
Enum.map(pairs, fn ({koan, answer}) -> Runner.run_koan(module, koan, [answer]) end)
end
def passed?(answers), do: {Enum.all?(answers, fn(element) -> element == :passed end), answers}
def results({true, _}), do: :all_passed
def results({false, answers}), do: answers
end