Sha256: 12c6f34df936d7a4e72e2c87d0bb1dbcc4e26e6573a856246b84ba8151de6d38
Contents?: true
Size: 1.14 KB
Versions: 2
Compression:
Stored size: 1.14 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 = false unless args.first == :any @args = args 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
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
casualjim-caricature-0.5.0 | lib/caricature/verification.rb |
caricature-0.5.0 | lib/caricature/verification.rb |