Current section

Files

Jump to
credo lib credo test assertions.ex
Raw

lib/credo/test/assertions.ex

defmodule Credo.Test.Assertions do
@moduledoc false
import ExUnit.Assertions
def assert_trigger(issue, trigger)
def assert_trigger([issue], trigger), do: [assert_trigger(issue, trigger)]
def assert_trigger(issue, trigger) do
assert trigger == issue.trigger
issue
end
def refute_issues(issues) do
assert [] == issues,
"There should be no issues, got #{Enum.count(issues)}: #{to_inspected(issues)}"
issues
end
def assert_issue(issues, callback \\ nil) do
refute Enum.empty?(issues), "There should be one issue, got none."
assert Enum.count(issues) == 1,
"There should be only 1 issue, got #{Enum.count(issues)}: #{to_inspected(issues)}"
if callback do
issues |> List.first() |> callback.()
end
issues
end
def assert_issues(issues, callback \\ nil) do
assert Enum.count(issues) > 0, "There should be multiple issues, got none."
assert Enum.count(issues) > 1,
"There should be more than one issue, got: #{to_inspected(issues)}"
if callback, do: callback.(issues)
issues
end
def to_inspected(value) do
value
|> Inspect.Algebra.to_doc(%Inspect.Opts{})
|> Inspect.Algebra.format(50)
|> Enum.join("")
end
end