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