Sha256: 3a386881f5b66e8520dcd384f512c4b61b09e6241a0ef785e80fa04543b27088

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 KB

Contents

module RR
  module DoubleDefinitions
    module Strategies
      module Verification
        # This method sets the Double to have a dont_allow strategy.
        # A dont_allow strategy sets the default state of the Double
        # to expect never to be called. The Double's expectations can be
        # changed.
        #
        # The following example sets the expectation that subject.method_name
        # will never be called with arg1 and arg2.
        #
        #   do_not_allow(subject).method_name(arg1, arg2)
        #
        # dont_allow also supports a block sytnax.
        #    dont_allow(subject) do |m|
        #      m.method1 # Do not allow method1 with any arguments
        #      m.method2(arg1, arg2) # Do not allow method2 with arguments arg1 and arg2
        #      m.method3.with_no_args # Do not allow method3 with no arguments
        #    end        
        class DontAllow < VerificationStrategy
          register("dont_allow", :do_not_allow, :dont_call, :do_not_call)

          protected
          def do_call
            definition.never
            permissive_argument
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rr-0.10.11 lib/rr/double_definitions/strategies/verification/dont_allow.rb
rr-0.10.10 lib/rr/double_definitions/strategies/verification/dont_allow.rb
rr-0.10.9 lib/rr/double_definitions/strategies/verification/dont_allow.rb
rr-0.10.8 lib/rr/double_definitions/strategies/verification/dont_allow.rb
rr-0.10.7 lib/rr/double_definitions/strategies/verification/dont_allow.rb
rr-0.10.6 lib/rr/double_definitions/strategies/verification/dont_allow.rb