Class: Matchi::Change::ByAtLeast
- Inherits:
-
Object
- Object
- Matchi::Change::ByAtLeast
- Defined in:
- lib/matchi/change/by_at_least.rb
Overview
*Change by at least* matcher.
Instance Attribute Summary collapse
-
#expected ⇒ #object_id
readonly
An expected delta.
Instance Method Summary collapse
-
#initialize(expected, &state) ⇒ ByAtLeast
constructor
Initialize the matcher with an object and a block.
-
#inspect ⇒ Object
A string containing a human-readable representation of the matcher.
-
#matches? ⇒ Boolean
Boolean comparison on the expected change by comparing the value before and after the code execution.
-
#to_s ⇒ Object
Returns a string representing the matcher.
Constructor Details
#initialize(expected, &state) ⇒ ByAtLeast
Initialize the matcher with an object and a block.
22 23 24 25 |
# File 'lib/matchi/change/by_at_least.rb', line 22 def initialize(expected, &state) @expected = expected @state = state end |
Instance Attribute Details
#expected ⇒ #object_id (readonly)
Returns An expected delta.
8 9 10 |
# File 'lib/matchi/change/by_at_least.rb', line 8 def expected @expected end |
Instance Method Details
#inspect ⇒ Object
A string containing a human-readable representation of the matcher.
53 54 55 |
# File 'lib/matchi/change/by_at_least.rb', line 53 def inspect "#{self.class}(#{expected.inspect})" end |
#matches? ⇒ Boolean
Boolean comparison on the expected change by comparing the value before and after the code execution.
44 45 46 47 48 49 50 |
# File 'lib/matchi/change/by_at_least.rb', line 44 def matches? value_before = @state.call yield value_after = @state.call expected <= (value_after - value_before) end |
#to_s ⇒ Object
Returns a string representing the matcher.
58 59 60 |
# File 'lib/matchi/change/by_at_least.rb', line 58 def to_s "change by at least #{expected.inspect}" end |