The expectation director is responsible for routing calls to the correct expectations for a given argument list.
Create an ExpectationDirector for a mock object.
# File lib/flexmock/expectation_director.rb, line 23 def initialize(sym) @sym = sym @expectations = [] @defaults = [] @expected_order = nil end
Append an expectation to this director.
# File lib/flexmock/expectation_director.rb, line 46 def <<(expectation) @expectations << expectation end
Invoke the expectations for a given set of arguments.
First, look for an expectation that matches the arguments 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.
# File lib/flexmock/expectation_director.rb, line 38 def call(*args) exp = find_expectation(*args) FlexMock.check("no matching handler found for " + FlexMock.format_args(@sym, args)) { ! exp.nil? } exp.verify_call(*args) end
Generated with the Darkfish Rdoc Generator 2.