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 |