Sha256: b54b6282a510ac3fa2a7990f4ec7779ff01447838a680095519832c4ca538c76
Contents?: true
Size: 1.46 KB
Versions: 3
Compression:
Stored size: 1.46 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, @block_args = method_name, [], true, recorder, mode, nil init_plugin end def init_plugin 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 def with_block_args(*args) @block_args = args 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 def error @recorder.error end # indicate that this method verification is successful def successful? a = any_args? ? [:any] : @args begin @recorder.was_called?(@method_name, @block_args, @mode, *a) rescue ArgumentError false end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
caricature-0.7.6 | lib/caricature/verification.rb |
caricature-0.7.5 | lib/caricature/verification.rb |
caricature-0.7.2 | lib/caricature/verification.rb |