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 "KWMatching.h"
9
10@class KWFailure;
11@class KWMatcher;
12@class KWUserDefinedMatcherBuilder;
13
14@interface KWMatcherFactory : NSObject {
15@private
16 NSMutableArray *registeredMatcherClasses;
17 NSMutableDictionary *matcherClassChains;
18}
19
20#pragma mark -
21#pragma mark Initializing
22
23- (id)init;
24
25#pragma mark -
26#pragma mark Properties
27
28@property (nonatomic, readonly) NSArray *registeredMatcherClasses;
29
30#pragma mark -
31#pragma mark Registering Matcher Classes
32
33- (void)registerMatcherClass:(Class)aClass;
34- (void)registerMatcherClassesWithNamespacePrefix:(NSString *)aNamespacePrefix;
35
36#pragma mark -
37#pragma mark Registering User Defined Matchers
38
39//- (void)registerUserDefinedMatcherWithBuilder:(KWUserDefinedMatcherBuilder *)aBuilder;
40
41#pragma mark -
42#pragma mark Getting Method Signatures
43
44- (NSMethodSignature *)methodSignatureForMatcherSelector:(SEL)aSelector;
45
46#pragma mark -
47#pragma mark Getting Matchers
48
49- (KWMatcher *)matcherFromInvocation:(NSInvocation *)anInvocation subject:(id)subject;
50
51@end