defmodule ESpec.Assertions.Enum.HaveAny do @moduledoc """ Defines 'have_any' assertion. it do: expect(collection).to have_any(func) """ use ESpec.Assertions.Interface defp match(enum, func) do result = Enum.any?(enum, func) {result, result} end defp success_message(enum, func, _result, positive) do if positive do "`#{inspect(func)}` returns `true` for at least one element in `#{inspect(enum)}`." else "`#{inspect(func)}` doesn't return `true` for any element in `#{inspect(enum)}`." end end defp error_message(enum, func, result, positive) do to = if positive, do: "to", else: "not to" "Expected `#{inspect(func)}` #{to} return `true` for at least one element in `#{inspect(enum)}` but it returns `#{ result }` for all." end end