• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //---------------------------------------------------------------------------------------
2 //  $Id$
3 //  Copyright (c) 2007-2010 by Mulle Kybernetik. See License file for details.
4 //---------------------------------------------------------------------------------------
5 
6 #import <Foundation/Foundation.h>
7 
8 
9 @interface OCMConstraint : NSObject
10 
11 + (id)constraint;
12 - (BOOL)evaluate:(id)value;
13 
14 // if you are looking for any, isNil, etc, they have moved to OCMArg
15 
16 // try to use [OCMArg checkWith...] instead of the constraintWith... methods below
17 
18 + (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject;
19 + (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue;
20 
21 
22 @end
23 
24 @interface OCMAnyConstraint : OCMConstraint
25 @end
26 
27 @interface OCMIsNilConstraint : OCMConstraint
28 @end
29 
30 @interface OCMIsNotNilConstraint : OCMConstraint
31 @end
32 
33 @interface OCMIsNotEqualConstraint : OCMConstraint
34 {
35 	@public
36 	id testValue;
37 }
38 
39 @end
40 
41 @interface OCMInvocationConstraint : OCMConstraint
42 {
43 	@public
44 	NSInvocation *invocation;
45 }
46 
47 @end
48 
49 #if NS_BLOCKS_AVAILABLE
50 
51 @interface OCMBlockConstraint : OCMConstraint
52 {
53 	BOOL (^block)(id);
54 }
55 
56 - (id)initWithConstraintBlock:(BOOL (^)(id))block;
57 
58 @end
59 
60 #endif
61 
62 
63 #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self]
64 #define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)]
65