Class: RSpec::Matchers::BuiltIn::Change Private
- Inherits:
-
BaseMatcher
- Object
- BaseMatcher
- RSpec::Matchers::BuiltIn::Change
- Defined in:
- lib/rspec/matchers/built_in/change.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Provides the implementation for change
. Not intended to be instantiated directly.
Constant Summary
Constants inherited from BaseMatcher
Instance Method Summary collapse
-
#by(expected_delta) ⇒ Object
Specifies the delta of the expected change.
-
#by_at_least(minimum) ⇒ Object
Specifies a minimum delta of the expected change.
-
#by_at_most(maximum) ⇒ Object
Specifies a maximum delta of the expected change.
- #description ⇒ String private
- #does_not_match?(event_proc) ⇒ Boolean private
- #failure_message ⇒ String private
- #failure_message_when_negated ⇒ String private
-
#from(value) ⇒ Object
Specifies the original value.
-
#to(value) ⇒ Object
Specifies the new value you expect.
Methods inherited from BaseMatcher
#diffable?, #expects_call_stack_jump?, #match_unless_raises
Methods included from Composable
#===, #and, #description_of, #or, should_enumerate?, surface_descriptions_in, unreadable_io?, #values_match?
Instance Method Details
#by(expected_delta) ⇒ Object
Specifies the delta of the expected change.
10 11 12 13 14 |
# File 'lib/rspec/matchers/built_in/change.rb', line 10 def by(expected_delta) ChangeRelatively.new(change_details, expected_delta, :by) do |actual_delta| values_match?(expected_delta, actual_delta) end end |
#by_at_least(minimum) ⇒ Object
Specifies a minimum delta of the expected change.
18 19 20 21 22 |
# File 'lib/rspec/matchers/built_in/change.rb', line 18 def by_at_least(minimum) ChangeRelatively.new(change_details, minimum, :by_at_least) do |actual_delta| actual_delta >= minimum end end |
#by_at_most(maximum) ⇒ Object
Specifies a maximum delta of the expected change.
26 27 28 29 30 |
# File 'lib/rspec/matchers/built_in/change.rb', line 26 def by_at_most(maximum) ChangeRelatively.new(change_details, maximum, :by_at_most) do |actual_delta| actual_delta <= maximum end end |
#description ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
71 72 73 |
# File 'lib/rspec/matchers/built_in/change.rb', line 71 def description "change #{change_details.value_representation}" end |
#does_not_match?(event_proc) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
50 51 52 53 |
# File 'lib/rspec/matchers/built_in/change.rb', line 50 def does_not_match?(event_proc) raise_block_syntax_error if block_given? perform_change(event_proc) && !change_details.changed? end |
#failure_message ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
57 58 59 60 |
# File 'lib/rspec/matchers/built_in/change.rb', line 57 def "expected #{change_details.value_representation} to have changed, " \ "but #{positive_failure_reason}" end |
#failure_message_when_negated ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
64 65 66 67 |
# File 'lib/rspec/matchers/built_in/change.rb', line 64 def "expected #{change_details.value_representation} not to have changed, " \ "but #{negative_failure_reason}" end |
#from(value) ⇒ Object
Specifies the original value.
40 41 42 |
# File 'lib/rspec/matchers/built_in/change.rb', line 40 def from(value) ChangeFromValue.new(change_details, value) end |
#to(value) ⇒ Object
Specifies the new value you expect.
34 35 36 |
# File 'lib/rspec/matchers/built_in/change.rb', line 34 def to(value) ChangeToValue.new(change_details, value) end |