Sha256: 89a7a7eaaf37045c41bb07e9b6a6cfea96aa1d954df5ee503d19c8eff86ec9f1
Contents?: true
Size: 1.25 KB
Versions: 61
Compression:
Stored size: 1.25 KB
Contents
require 'mocha/parameter_matchers/base' module Mocha module ParameterMatchers # Matches if +matcher+ does *not* match. # # @param [Base] matcher matcher whose logic to invert. # @return [Not] parameter matcher. # # @see Expectation#with # # @example Actual parameter does not include the value +1+. # object = mock() # object.expects(:method_1).with(Not(includes(1))) # object.method_1([0, 2, 3]) # # no error raised # # @example Actual parameter does include the value +1+. # object = mock() # object.expects(:method_1).with(Not(includes(1))) # object.method_1([0, 1, 2, 3]) # # error raised, because method_1 was not called with object not including 1 def Not(matcher) Not.new(matcher) end # Parameter matcher which inverts the logic of the specified matcher using a logical NOT operation. class Not < Base # @private def initialize(matcher) @matcher = matcher end # @private def matches?(available_parameters) parameter = available_parameters.shift !@matcher.matches?([parameter]) end # @private def mocha_inspect "Not(#{@matcher.mocha_inspect})" end end end end
Version data entries
61 entries across 50 versions & 5 rubygems