Use koan assertions to fail the tests
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user