main
 1//
 2// Licensed under the terms in License.txt
 3//
 4// Copyright 2010 Allen Ding. All rights reserved.
 5//
 6
 7#import "KiwiConfiguration.h"
 8#import "KWCountType.h"
 9#import "KWMatcher.h"
10#import "KWMatchVerifier.h"
11
12@class KWMessagePattern;
13@class KWMessageTracker;
14
15@interface KWReceiveMatcher : KWMatcher {
16@private
17    KWMessageTracker *messageTracker;
18    BOOL willEvaluateMultipleTimes;
19}
20@property (nonatomic, assign) BOOL willEvaluateMultipleTimes;
21
22#pragma mark -
23#pragma mark Configuring Matchers
24
25- (void)receive:(SEL)aSelector;
26- (void)receive:(SEL)aSelector withCount:(NSUInteger)aCount;
27- (void)receive:(SEL)aSelector withCountAtLeast:(NSUInteger)aCount;
28- (void)receive:(SEL)aSelector withCountAtMost:(NSUInteger)aCount;
29- (void)receive:(SEL)aSelector andReturn:(id)aValue;
30- (void)receive:(SEL)aSelector andReturn:(id)aValue withCount:(NSUInteger)aCount;
31- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount;
32- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtMost:(NSUInteger)aCount;
33- (void)receiveMessagePattern:(KWMessagePattern *)aMessagePattern countType:(KWCountType)aCountType count:(NSUInteger)aCount;
34- (void)receiveMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue countType:(KWCountType)aCountType count:(NSUInteger)aCount;
35
36@end
37
38@interface KWMatchVerifier(KWReceiveMatcherAdditions)
39
40#pragma mark -
41#pragma mark Verifying
42
43- (void)receive:(SEL)aSelector withArguments:(id)firstArgument, ...;
44- (void)receive:(SEL)aSelector withCount:(NSUInteger)aCount arguments:(id)firstArgument, ...;
45- (void)receive:(SEL)aSelector withCountAtLeast:(NSUInteger)aCount arguments:(id)firstArgument, ...;
46- (void)receive:(SEL)aSelector withCountAtMost:(NSUInteger)aCount arguments:(id)firstArgument, ...;
47- (void)receive:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ...;
48- (void)receive:(SEL)aSelector andReturn:(id)aValue withCount:(NSUInteger)aCount arguments:(id)firstArgument, ...;
49- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount arguments:(id)firstArgument, ...;
50- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtMost:(NSUInteger)aCount arguments:(id)firstArgument, ...;
51
52#pragma mark Invocation Capturing Methods
53
54- (id)receive;
55- (id)receiveWithCount:(NSUInteger)aCount;
56- (id)receiveWithCountAtLeast:(NSUInteger)aCount;
57- (id)receiveWithCountAtMost:(NSUInteger)aCount;
58- (id)receiveAndReturn:(id)aValue;
59- (id)receiveAndReturn:(id)aValue withCount:(NSUInteger)aCount;
60- (id)receiveAndReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount;
61- (id)receiveAndReturn:(id)aValue withCountAtMost:(NSUInteger)aCount;
62
63@end