Packages
espec
1.1.2
1.10.0
1.9.2
1.9.1
1.9.0
1.8.3
1.8.2
1.8.1
1.8.0
1.7.0
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.1
1.5.0
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.2
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
0.8.28
0.8.27
0.8.26
0.8.25
0.8.24
0.8.23
0.8.22
0.8.21
0.8.20
0.8.19
0.8.18
0.8.17
0.8.16
0.8.15
0.8.14
0.8.13
0.8.12
0.8.11
0.8.10
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.7
0.3.5
0.3.0
0.2.0
0.1.0
BDD testing framework for Elixir inspired by RSpec.
Current section
Files
Jump to
Current section
Files
lib/espec/assertions/change.ex
defmodule ESpec.Assertions.Change do
@moduledoc """
Defines 'change' assertion.
it do: expect(function1).to change(function2, to)
"""
use ESpec.Assertions.Interface
defp match(subject, [func]) do
initial = func.()
subject.()
then = func.()
result = (initial != then)
{result, result}
end
defp success_message(subject, [func], _result, positive) do
to = if positive, do: "changes", else: "doesn't change"
"`#{inspect subject}` #{to} the value of `#{inspect func}`."
end
defp error_message(subject, [func], _result, positive) do
to = if positive, do: "to", else: "not to"
but = if positive, do: "didn't change", else: "changed"
"Expected `#{inspect subject}` #{to} change the value of `#{inspect func}`, but it #{but}."
end
end