diff --git a/src/spectator/mocks/generic_arguments.cr b/src/spectator/mocks/generic_arguments.cr index ea7493a..0da404c 100644 --- a/src/spectator/mocks/generic_arguments.cr +++ b/src/spectator/mocks/generic_arguments.cr @@ -16,7 +16,7 @@ module Spectator::Mocks dispatcher.call(*@args, **@opts) end - def ===(other : Arguments(U, NU)) : Bool forall U, NU + def ===(other : GenericArguments(U, NU)) : Bool forall U, NU return false unless @args === other.args return false unless @opts.size === other.opts.size diff --git a/src/spectator/mocks/nil_method_stub.cr b/src/spectator/mocks/nil_method_stub.cr index 68274d2..9bbdaa0 100644 --- a/src/spectator/mocks/nil_method_stub.cr +++ b/src/spectator/mocks/nil_method_stub.cr @@ -13,7 +13,12 @@ module Spectator::Mocks end def and_return(value : T) forall T - ValueMethodStub.new(@name, @source, value) + ValueMethodStub.new(@name, @source, value, @args) + end + + def with(*args : *T, **opts : **NT) forall T, NT + args = GenericArguments.new(args, opts) + NilMethodStub.new(@name, @source, args) end end end