Class: RSpec::Matchers::BuiltIn::Change Private

Inherits:
BaseMatcher show all
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.

API:

  • private

Constant Summary

Constants inherited from BaseMatcher

BaseMatcher::UNDEFINED

Instance Method Summary collapse

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.

API:

  • public



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.

API:

  • public



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.

API:

  • public



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

#descriptionString

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.

Returns:

API:

  • private



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.

Returns:

API:

  • private



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_messageString

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.

Returns:

API:

  • private



57
58
59
60
# File 'lib/rspec/matchers/built_in/change.rb', line 57

def failure_message
  "expected #{change_details.value_representation} to have changed, " \
  "but #{positive_failure_reason}"
end

#failure_message_when_negatedString

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.

Returns:

API:

  • private



64
65
66
67
# File 'lib/rspec/matchers/built_in/change.rb', line 64

def failure_message_when_negated
  "expected #{change_details.value_representation} not to have changed, " \
  "but #{negative_failure_reason}"
end

#from(value) ⇒ Object

Specifies the original value.

API:

  • public



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.

API:

  • public



34
35
36
# File 'lib/rspec/matchers/built_in/change.rb', line 34

def to(value)
  ChangeToValue.new(change_details, value)
end