diff --git a/README.md b/README.md index 9c57285..1585016 100644 --- a/README.md +++ b/README.md @@ -314,8 +314,8 @@ Items not marked as completed may have partial implementations. - [X] Doubles (Stand-ins for real types) - `double NAME { }` - [X] Method stubs - `allow().to receive()`, `allow().to receive().and_return()` - [ ] Spies - `expect().to receive()` - - [ ] Message expectations - `expect().to receive().at_least()` - - [ ] Argument expectations - `expect().to receive().with()` + - [X] Message expectations - `expect().to receive().at_least()` + - [X] Argument expectations - `expect().to receive().with()` - [ ] Message ordering - `expect().to receive().ordered` - [ ] Null doubles - [ ] Runner diff --git a/src/spectator/matchers/receive_matcher.cr b/src/spectator/matchers/receive_matcher.cr index bdca036..ae294bb 100644 --- a/src/spectator/matchers/receive_matcher.cr +++ b/src/spectator/matchers/receive_matcher.cr @@ -38,6 +38,11 @@ module Spectator::Matchers } end + def with(*args, **opts) + args = Mocks::GenericArguments.new(args, opts) + ReceiveArgumentsMatcher.new(@expected, args, @range) + end + def once ReceiveMatcher.new(@expected, (1..1)) end