22 lines
604 B
Elixir
22 lines
604 B
Elixir
|
defmodule AdventOfCode.PuzzleCase do
|
||
|
@moduledoc """
|
||
|
Defines tests for an `AdventOfCode.PuzzleSolver` module.
|
||
|
"""
|
||
|
|
||
|
use ExUnit.CaseTemplate
|
||
|
|
||
|
using module: module do
|
||
|
quote bind_quoted: [module: module] do
|
||
|
@module module
|
||
|
|
||
|
defp assert_solution(input, desired_output) when is_binary(input) do
|
||
|
{:ok, stream_pid} = StringIO.open(input)
|
||
|
stream_input = IO.stream(stream_pid, :line)
|
||
|
actual_output = AdventOfCode.PuzzleSolver.solve(@module, stream_input)
|
||
|
@module.solve(stream_input)
|
||
|
assert actual_output == desired_output
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|