Class: RR::Expectations::TimesCalledExpectation
- Inherits:
-
Object
- Object
- RR::Expectations::TimesCalledExpectation
- Defined in:
- lib/rr/expectations/times_called_expectation.rb
Instance Attribute Summary collapse
-
#times ⇒ Object
readonly
Returns the value of attribute times.
-
#times_called ⇒ Object
readonly
Returns the value of attribute times_called.
Instance Method Summary collapse
-
#initialize(times = nil, &time_condition_block) ⇒ TimesCalledExpectation
constructor
A new instance of TimesCalledExpectation.
- #verify ⇒ Object
- #verify! ⇒ Object
- #verify_input ⇒ Object
Constructor Details
#initialize(times = nil, &time_condition_block) ⇒ TimesCalledExpectation
Returns a new instance of TimesCalledExpectation.
9 10 11 12 13 |
# File 'lib/rr/expectations/times_called_expectation.rb', line 9 def initialize(times=nil, &time_condition_block) raise ArgumentError, "Cannot pass in both an argument and a block" if times && time_condition_block @times = times || time_condition_block @times_called = 0 end |
Instance Attribute Details
#times ⇒ Object (readonly)
Returns the value of attribute times.
7 8 9 |
# File 'lib/rr/expectations/times_called_expectation.rb', line 7 def times @times end |
#times_called ⇒ Object (readonly)
Returns the value of attribute times_called.
7 8 9 |
# File 'lib/rr/expectations/times_called_expectation.rb', line 7 def times_called @times_called end |
Instance Method Details
#verify ⇒ Object
22 23 24 25 26 27 |
# File 'lib/rr/expectations/times_called_expectation.rb', line 22 def verify return true if @times.is_a?(Integer) && @times == @times_called return true if @times.is_a?(Proc) && @times.call(@times_called) return true if @times.is_a?(Range) && @times.include?(@times_called) return false end |
#verify! ⇒ Object
29 30 31 |
# File 'lib/rr/expectations/times_called_expectation.rb', line 29 def verify! raise TimesCalledExpectationError unless verify end |
#verify_input ⇒ Object
15 16 17 18 19 20 |
# File 'lib/rr/expectations/times_called_expectation.rb', line 15 def verify_input @times_called += 1 verify_input_error if @times.is_a?(Integer) && @times_called > @times verify_input_error if @times.is_a?(Range) && @times_called > @times.end return end |