Show how to test koans for Equalities
This commit is contained in:
@@ -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, :__]}]}]
|
||||
|
||||
|
||||
22
test/koans_harness_test.exs
Normal file
22
test/koans_harness_test.exs
Normal 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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user