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 "KWExpectationType.h"
9#import "KWVerifying.h"
10
11@class KWCallSite;
12@class KWMatcherFactory;
13
14@protocol KWMatching;
15@protocol KWReporting;
16
17@interface KWMatchVerifier : NSObject<KWVerifying> {
18@private
19 KWExpectationType expectationType;
20 KWCallSite *callSite;
21 KWMatcherFactory *matcherFactory;
22 id<KWReporting> reporter;
23 id subject;
24 id<KWMatching> endOfExampleMatcher;
25}
26
27#pragma mark -
28#pragma mark Properties
29
30@property (nonatomic, readonly) KWExpectationType expectationType;
31@property (nonatomic, readonly) KWCallSite *callSite;
32@property (nonatomic, readonly) KWMatcherFactory *matcherFactory;
33@property (nonatomic, readonly) id<KWReporting> reporter;
34@property (nonatomic, readwrite, retain) id subject;
35
36#pragma mark -
37#pragma mark Initializing
38
39- (id)initForShouldWithCallSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id<KWReporting>)aReporter;
40- (id)initForShouldNotWithCallSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id<KWReporting>)aReporter;
41- (id)initWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id<KWReporting>)aReporter;
42
43+ (id)matchVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id<KWReporting>)aReporter;
44
45@end