# File lib/rr/adapters/rr_methods.rb, line 5 5: def register_strategy_class(strategy_class, method_name) 6: class_eval(( def #{method_name}(subject=DoubleDefinitions::DoubleDefinitionCreate::NO_SUBJECT, method_name=nil, &definition_eval_block) double_definition_create = DoubleDefinitions::DoubleDefinitionCreate.new double_definition_create.#{method_name}(subject, method_name, &definition_eval_block) end), __FILE__, __LINE__ + 1) 7: 8: class_eval(( def #{method_name}!(method_name=nil, &definition_eval_block) double_definition_create = DoubleDefinitions::DoubleDefinitionCreate.new double_definition_create.#{method_name}!(method_name, &definition_eval_block) end), __FILE__, __LINE__ + 1) 9: end
Returns a AnyTimesMatcher. This is meant to be passed in as an argument to Double#times.
mock(object).method_name(anything).times(any_times) {return_value}
# File lib/rr/adapters/rr_methods.rb, line 37
37: def any_times
38: TimesCalledMatchers::AnyTimesMatcher.new
39: end
Sets up an Anything wildcard ArgumentEqualityExpectation that succeeds when passed any argument.
mock(object).method_name(anything) {return_value}
object.method_name("an arbitrary value") # passes
# File lib/rr/adapters/rr_methods.rb, line 45
45: def anything
46: RR::WildcardMatchers::Anything.new
47: end
Sets up an Boolean wildcard ArgumentEqualityExpectation that succeeds when passed an argument that is a ::Boolean.
mock(object).method_name(boolean) {return_value}
object.method_name(false) # passes
# File lib/rr/adapters/rr_methods.rb, line 69
69: def boolean
70: RR::WildcardMatchers::Boolean.new
71: end
Sets up a DuckType wildcard ArgumentEqualityExpectation that succeeds when the passed argument implements the methods.
arg = Object.new
def arg.foo; end
def arg.bar; end
mock(object).method_name(duck_type(:foo, :bar)) {return_value}
object.method_name(arg) # passes
# File lib/rr/adapters/rr_methods.rb, line 80
80: def duck_type(*args)
81: RR::WildcardMatchers::DuckType.new(*args)
82: end
Sets up a HashIncluding wildcard ArgumentEqualityExpectation that succeeds when the passed argument contains at least those keys and values of the expectation.
mock(object).method_name(hash_including(:foo => 1)) {return_value}
object.method_name({:foo => 1, :bar => 2) # passes
# File lib/rr/adapters/rr_methods.rb, line 89
89: def hash_including(expected_hash)
90: RR::WildcardMatchers::HashIncluding.new(expected_hash)
91: end
Sets up an IsA wildcard ArgumentEqualityExpectation that succeeds when passed an argument of a certain type.
mock(object).method_name(is_a(String)) {return_value}
object.method_name("A String") # passes
# File lib/rr/adapters/rr_methods.rb, line 53
53: def is_a(klass)
54: RR::WildcardMatchers::IsA.new(klass)
55: end
Sets up an Numeric wildcard ArgumentEqualityExpectation that succeeds when passed an argument that is ::Numeric.
mock(object).method_name(numeric) {return_value}
object.method_name(99) # passes
# File lib/rr/adapters/rr_methods.rb, line 61
61: def numeric
62: RR::WildcardMatchers::Numeric.new
63: end
# File lib/rr/adapters/rr_methods.rb, line 111
111: def received(subject)
112: RR::SpyVerificationProxy.new(subject)
113: end
Resets the registered Doubles and ordered Doubles
# File lib/rr/adapters/rr_methods.rb, line 29
29: def reset
30: RR::Space.instance.reset
31: end
Sets up a Satisfy wildcard ArgumentEqualityExpectation that succeeds when the passed argument causes the expectation’s proc to return true.
mock(object).method_name(satisfy {|arg| arg == :foo}) {return_value}
object.method_name(:foo) # passes
# File lib/rr/adapters/rr_methods.rb, line 98
98: def satisfy(expectation_proc=nil, &block)
99: expectation_proc ||= block
100: RR::WildcardMatchers::Satisfy.new(expectation_proc)
101: end
# File lib/rr/adapters/rr_methods.rb, line 103
103: def spy(subject)
104: methods_to_stub = subject.public_methods.map {|method_name| method_name.to_sym} -
105: [:methods, :==, :__send__, :__id__, :object_id]
106: methods_to_stub.each do |method|
107: stub.proxy(subject, method)
108: end
109: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.