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@interface KWHaveMatcher : KWMatcher {
13@private
14 KWCountType countType;
15 NSUInteger count;
16 NSInvocation *invocation;
17 NSUInteger actualCount;
18}
19
20#pragma mark -
21#pragma mark Configuring Matchers
22
23- (void)haveCountOf:(NSUInteger)aCount;
24- (void)haveCountOfAtLeast:(NSUInteger)aCount;
25- (void)haveCountOfAtMost:(NSUInteger)aCount;
26- (void)have:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation;
27- (void)haveAtLeast:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation;
28- (void)haveAtMost:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation;
29
30@end
31
32@protocol KWContainmentCountMatcherTerminals
33
34#pragma mark -
35#pragma mark Terminals
36
37- (id)objects;
38- (id)items;
39- (id)elements;
40
41@end
42
43@interface KWMatchVerifier(KWHaveMatcherAdditions)
44
45#pragma mark -
46#pragma mark Verifying
47
48#pragma mark Invocation Capturing Methods
49
50- (id)have:(NSUInteger)aCount;
51- (id)haveAtLeast:(NSUInteger)aCount;
52- (id)haveAtMost:(NSUInteger)aCount;
53
54@end