Module: RR::DoubleDefinitions::DoubleDefinition::TimesDefinitionConstructionMethods

Included in:
RR::DoubleDefinitions::DoubleDefinition, SpyVerification
Defined in:
lib/rr/double_definitions/double_definition.rb

Instance Method Summary collapse

Instance Method Details

#any_number_of_times(&return_value_block) ⇒ Object Also known as: any_times

Double#any_number_of_times sets an that the Double will be called any number of times. This effectively removes the times called expectation from the Doublen

Passing in a block sets the return value.

mock(subject).method_name.any_number_of_times


145
146
147
148
149
# File 'lib/rr/double_definitions/double_definition.rb', line 145

def any_number_of_times(&return_value_block)
  @times_matcher = TimesCalledMatchers::AnyTimesMatcher.new
  install_method_callback return_value_block
  self
end

#at_least(number, &return_value_block) ⇒ Object

Double#at_least sets the expectation that the Double will be called at least n times. It works by creating a TimesCalledExpectation.

Passing in a block sets the return value.

mock(subject).method_name.at_least(4) {:return_value}


119
120
121
122
123
# File 'lib/rr/double_definitions/double_definition.rb', line 119

def at_least(number, &return_value_block)
  @times_matcher = TimesCalledMatchers::AtLeastMatcher.new(number)
  install_method_callback return_value_block
  self
end

#at_most(number, &return_value_block) ⇒ Object

Double#at_most allows sets the expectation that the Double will be called at most n times. It works by creating a TimesCalledExpectation.

Passing in a block sets the return value.

mock(subject).method_name.at_most(4) {:return_value}


132
133
134
135
136
# File 'lib/rr/double_definitions/double_definition.rb', line 132

def at_most(number, &return_value_block)
  @times_matcher = TimesCalledMatchers::AtMostMatcher.new(number)
  install_method_callback return_value_block
  self
end

#neverObject

Double#never sets the expectation that the Double will never be called.

This method does not accept a block because it will never be called.

mock(subject).method_name.never


83
84
85
86
# File 'lib/rr/double_definitions/double_definition.rb', line 83

def never
  @times_matcher = TimesCalledMatchers::NeverMatcher.new
  self
end

#once(&return_value_block) ⇒ Object

Double#once sets the expectation that the Double will be called 1 time.

Passing in a block sets the return value.

mock(subject).method_name.once {:return_value}


94
95
96
97
98
# File 'lib/rr/double_definitions/double_definition.rb', line 94

def once(&return_value_block)
  @times_matcher = TimesCalledMatchers::IntegerMatcher.new(1)
  install_method_callback return_value_block
  self
end

#times(matcher_value, &return_value_block) ⇒ Object

Double#times creates an TimesCalledExpectation of the passed in number.

Passing in a block sets the return value.

mock(subject).method_name.times(4) {:return_value}


158
159
160
161
162
# File 'lib/rr/double_definitions/double_definition.rb', line 158

def times(matcher_value, &return_value_block)
  @times_matcher = TimesCalledMatchers::TimesCalledMatcher.create(matcher_value)
  install_method_callback return_value_block
  self
end

#twice(&return_value_block) ⇒ Object

Double#twice sets the expectation that the Double will be called 2 times.

Passing in a block sets the return value.

mock(subject).method_name.twice {:return_value}


106
107
108
109
110
# File 'lib/rr/double_definitions/double_definition.rb', line 106

def twice(&return_value_block)
  @times_matcher = TimesCalledMatchers::IntegerMatcher.new(2)
  install_method_callback return_value_block
  self
end