1
require 'mocha/parameter_matchers/base'
5
module ParameterMatchers
7
# :call-seq: has_entries(entries) -> parameter_matcher
9
# Matches +Hash+ containing all +entries+.
11
# object.expects(:method_1).with(has_entries('key_1' => 1, 'key_2' => 2))
12
# object.method_1('key_1' => 1, 'key_2' => 2, 'key_3' => 3)
16
# object.expects(:method_1).with(has_entries('key_1' => 1, 'key_2' => 2))
17
# object.method_1('key_1' => 1, 'key_2' => 99)
18
# # error raised, because method_1 was not called with Hash containing entries: 'key_1' => 1, 'key_2' => 2
19
def has_entries(entries)
20
HasEntries.new(entries)
23
class HasEntries < Base # :nodoc:
25
def initialize(entries)
29
def matches?(available_parameters)
30
parameter = available_parameters.shift
31
@entries.all? { |key, value| parameter[key] == value }
35
"has_entries(#{@entries.mocha_inspect})"
b'\\ No newline at end of file'