assertions.ex (1252B)
1 defmodule Credo.Test.Assertions do 2 @moduledoc false 3 4 import ExUnit.Assertions 5 6 def assert_trigger(issue, trigger) 7 8 def assert_trigger([issue], trigger), do: [assert_trigger(issue, trigger)] 9 10 def assert_trigger(issue, trigger) do 11 assert trigger == issue.trigger 12 13 issue 14 end 15 16 def refute_issues(issues) do 17 assert [] == issues, 18 "There should be no issues, got #{Enum.count(issues)}: #{to_inspected(issues)}" 19 20 issues 21 end 22 23 def assert_issue(issues, callback \\ nil) do 24 refute Enum.empty?(issues), "There should be one issue, got none." 25 26 assert Enum.count(issues) == 1, 27 "There should be only 1 issue, got #{Enum.count(issues)}: #{to_inspected(issues)}" 28 29 if callback do 30 issues |> List.first() |> callback.() 31 end 32 33 issues 34 end 35 36 def assert_issues(issues, callback \\ nil) do 37 assert Enum.count(issues) > 0, "There should be multiple issues, got none." 38 39 assert Enum.count(issues) > 1, 40 "There should be more than one issue, got: #{to_inspected(issues)}" 41 42 if callback, do: callback.(issues) 43 44 issues 45 end 46 47 def to_inspected(value) do 48 value 49 |> Inspect.Algebra.to_doc(%Inspect.Opts{}) 50 |> Inspect.Algebra.format(50) 51 |> Enum.join("") 52 end 53 end