From a24e1794725791cd06a3ebcc69734bea1fd3b803 Mon Sep 17 00:00:00 2001 From: Jay Hayes Date: Tue, 26 Apr 2016 16:40:52 -0500 Subject: [PATCH] Error is raised if an answer isn't provided for each koan --- test/test_helper.exs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/test_helper.exs b/test/test_helper.exs index c54a265..d22f712 100644 --- a/test/test_helper.exs +++ b/test/test_helper.exs @@ -3,10 +3,22 @@ ExUnit.start() defmodule TestHarness do def test_all(module, answers) do module.all_koans + |> check_answer_count(answers, module) |> Enum.zip(answers) |> run_all(module) end + defp check_answer_count(koans, answers, module) do + koans_count = length(koans) + answer_count = length(answers) + + if length(koans) > length(answers) do + raise "Answer missing for #{module}. #{koans_count} koans, but only #{answer_count} answers." + else + koans + end + end + def run_all(pairs, module) do Enum.map(pairs, fn ({koan, answer}) -> Execute.run_koan(module, koan, [answer]) end) end