The expectation director is responsible for routing calls to the correct expectations for a given argument list.
Methods
Public Class methods
Create an ExpectationDirector for a mock object.
[ show source ]
# File lib/flexmock/expectation_director.rb, line 23
23: def initialize(sym)
24: @sym = sym
25: @expectations = []
26: @defaults = []
27: @expected_order = nil
28: end
Public Instance methods
Append an expectation to this director.
[ show source ]
# File lib/flexmock/expectation_director.rb, line 46
46: def <<(expectation)
47: @expectations << expectation
48: end
Invoke the expectations for a given set of arguments.
First, look for an expectation that matches the arguements and is eligible to be called. Failing that, look for a expectation that matches the arguments (at this point it will be ineligible, but at least we will get a good failure message). Finally, check for expectations that don‘t have any argument matching criteria.
[ show source ]
# File lib/flexmock/expectation_director.rb, line 38
38: def call(*args)
39: exp = find_expectation(*args)
40: FlexMock.check("no matching handler found for " +
41: FlexMock.format_args(@sym, args)) { ! exp.nil? }
42: exp.verify_call(*args)
43: end