Files
archived-hipudding-teslamate/test/support/test_helper.ex
2020-03-11 15:11:13 +01:00

22 lines
496 B
Elixir

defmodule TestHelper do
def eventually(fun, opts \\ []) do
eventually(fun, Keyword.get(opts, :attempts, 10), Keyword.get(opts, :delay, 100))
end
defp eventually(fun, attempts, delay) do
fun.()
rescue
e in [ExUnit.AssertionError] ->
if attempts == 1, do: reraise(e, __STACKTRACE__)
Process.sleep(delay)
eventually(fun, attempts - 1, delay)
end
defmacro decimal(value) do
value
|> to_string()
|> Decimal.new()
|> Macro.escape()
end
end