Parent

Class/Module Index [+]

Quicksearch

Spec::Mocks::ArgumentExpectation

Attributes

args[R]

Public Class Methods

new(args, &block) click to toggle source
# File lib/spec/mocks/argument_expectation.rb, line 7
def initialize(args, &block)
  @args = args
  @matchers_block = block
  @match_any_args = false
  @matchers = nil
  
  if ArgumentMatchers::AnyArgsMatcher === args.first
    @match_any_args = true
  elsif ArgumentMatchers::NoArgsMatcher === args.first
    @matchers = []
  else
    @matchers = args.collect {|arg| matcher_for(arg)}
  end
end

Public Instance Methods

args_match?(given_args) click to toggle source
# File lib/spec/mocks/argument_expectation.rb, line 32
def args_match?(given_args)
  match_any_args? || matchers_block_matches?(given_args) || matchers_match?(given_args)
end
is_matcher?(obj) click to toggle source
# File lib/spec/mocks/argument_expectation.rb, line 28
def is_matcher?(obj)
  return obj.respond_to?(:matches?) & obj.respond_to?(:description)
end
match_any_args?() click to toggle source
# File lib/spec/mocks/argument_expectation.rb, line 44
def match_any_args?
  @match_any_args
end
matcher_for(arg) click to toggle source
# File lib/spec/mocks/argument_expectation.rb, line 22
def matcher_for(arg)
  return ArgumentMatchers::MatcherMatcher.new(arg)   if is_matcher?(arg)
  return ArgumentMatchers::RegexpMatcher.new(arg) if arg.is_a?(Regexp)
  return ArgumentMatchers::EqualityProxy.new(arg)
end
matchers_block_matches?(given_args) click to toggle source
# File lib/spec/mocks/argument_expectation.rb, line 36
def matchers_block_matches?(given_args)
  @matchers_block ? @matchers_block.call(*given_args) : nil
end
matchers_match?(given_args) click to toggle source
# File lib/spec/mocks/argument_expectation.rb, line 40
def matchers_match?(given_args)
  @matchers == given_args
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.