Sha256: 82bf7fd8f38d894a63a78ef318895701cb16509a03322568ac7de096e450bc11
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module Caricature # Describes a verification of a method call. # This corresponds kind of to an assertion class Verification # Initializes a new instance of a +Verification+ def initialize(method_name, recorder, mode=:instance) @method_name, @args, @any_args, @recorder, @mode = method_name, [], true, recorder, mode end # indicates whether this verification can be for any arguments def any_args? @any_args end # constrain this verification to the provided arguments def with(*args) @any_args = args.first.is_a?(Symbol) and args.first == :any @args = args # @callback = b if b self end # allow any arguments ignore the argument constraint def allow_any_arguments @any_args = true self end # figure out if this argument variation matches the provided args. def matches?(method_name, *args) @method_name == method_name and any_args? or @args == args end # indicate that this method verification is successful def successful? a = any_args? ? [:any] : @args @recorder.was_called?(@method_name, @mode, *a) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
caricature-0.7.0 | lib/caricature/verification.rb |