Class Spec::Mocks::MessageExpectation
In: vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb
Parent: Spec::Mocks::BaseExpectation

Methods

Public Instance methods

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 192
192:       def advise(args, block)
193:         similar_messages << args
194:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 229
229:       def any_number_of_times(&block)
230:         @method_block = block if block
231:         @expected_received_count = :any
232:         self
233:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 214
214:       def at_least(n)
215:         set_expected_received_count :at_least, n
216:         self
217:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 219
219:       def at_most(n)
220:         set_expected_received_count :at_most, n
221:         self
222:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 209
209:       def exactly(n)
210:         set_expected_received_count :exactly, n
211:         self
212:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 167
167:       def expected_messages_received?
168:         ignoring_args? || matches_exact_count? ||
169:            matches_at_least_count? || matches_at_most_count?
170:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 196
196:       def generate_error
197:         if similar_messages.empty?
198:           @error_generator.raise_expectation_error(@sym, @expected_received_count, @actual_received_count, *@args_expectation.args)
199:         else
200:           @error_generator.raise_unexpected_message_args_error(self, *@similar_messages.first)
201:         end
202:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 172
172:       def ignoring_args?
173:         @expected_received_count == :any
174:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 176
176:       def matches_at_least_count?
177:         @at_least && @actual_received_count >= @expected_received_count
178:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 180
180:       def matches_at_most_count?
181:         @at_most && @actual_received_count <= @expected_received_count
182:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 184
184:       def matches_exact_count?
185:         @expected_received_count == @actual_received_count
186:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 154
154:       def matches_name_but_not_args(sym, args)
155:         @sym == sym and not @args_expectation.check_args(args)
156:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 259
259:       def negative_expectation_for?(sym)
260:         return false
261:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 235
235:       def never
236:         @expected_received_count = 0
237:         self
238:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 240
240:       def once(&block)
241:         @method_block = block if block
242:         @expected_received_count = 1
243:         self
244:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 252
252:       def ordered(&block)
253:         @method_block = block if block
254:         @order_group.register(self)
255:         @ordered = true
256:         self
257:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 188
188:       def similar_messages
189:         @similar_messages ||= []
190:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 224
224:       def times(&block)
225:         @method_block = block if block
226:         self
227:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 246
246:       def twice(&block)
247:         @method_block = block if block
248:         @expected_received_count = 2
249:         self
250:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 158
158:       def verify_messages_received   
159:         return if expected_messages_received?
160:     
161:         generate_error
162:       rescue Spec::Mocks::MockExpectationError => error
163:         error.backtrace.insert(0, @expected_from)
164:         Kernel::raise error
165:       end

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 204
204:       def with(*args, &block)
205:         @args_expectation = ArgumentExpectation.new(args, &block)
206:         self
207:       end

Protected Instance methods

[Source]

     # File vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb, line 264
264:         def set_expected_received_count(relativity, n)
265:           @at_least = (relativity == :at_least)
266:           @at_most = (relativity == :at_most)
267:           @expected_received_count = case n
268:             when Numeric
269:               n
270:             when :once
271:               1
272:             when :twice
273:               2
274:           end
275:         end

[Validate]