Show how to test koans for Equalities

This commit is contained in:
Felipe Sere
2016-03-10 16:44:29 +00:00
parent 95c620129d
commit eb1da4b1fc
7 changed files with 24 additions and 48 deletions

View File

@@ -23,10 +23,6 @@ defmodule ASTManglerTest do
end
end
test "something" do
n = 1
end
test "complex example" do
ast = [do: {:assert, [line: 5], [{:==, [line: 5], [true, :__]}]}]

View File

@@ -0,0 +1,22 @@
defmodule KoansHarnessTest do
use ExUnit.Case
test "Equalities" do
answers = [true, 1, 2, 1, :something]
assert all_pass?(Equalities, answers) == [:passed, :passed, :passed, :passed, :passed]
end
def all_pass?(module, answers) do
module.all_koans
|> Enum.zip(answers)
|> Enum.map(fn({koan, answer}) -> KoansHarnessTest.test_single_koan(module, koan, answer) end)
end
def test_single_koan(module, name, answer) do
case apply(module, name, [answer]) do
:ok -> :passed
error -> {:error, name, error}
end
end
end

View File

@@ -1,11 +0,0 @@
defmodule PowerTest do
use ExUnit.Case
test "something" do
koans = Equalities.all_koans
answers = [true, 1]
combined = Enum.zip(koans, answers)
Enum.each(combined, fn({koan, answer}) -> assert :passed == Runner.test_single_koan(Equalities, koan, answer) end)
end
end