-
Notifications
You must be signed in to change notification settings - Fork 223
/
Fixtures.m
115 lines (86 loc) · 2.24 KB
/
Fixtures.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#import "Fixtures.h"
#import "Objection.h"
#import "CircularDependencyFixtures.h"
@implementation Engine
objection_register(Engine)
@synthesize awake;
- (void) awakeFromObjection {
awake = YES;
}
@end
@implementation Brakes
@end
@implementation Car
objection_register(Car)
@synthesize engine, brakes, awake;
- (void)awakeFromObjection {
awake = YES;
}
objection_requires(@"engine", @"brakes")
@end
@implementation UnregisteredCar
objection_requires(@"engine")
@synthesize engine;
@end
@implementation FiveSpeedCar
objection_register(FiveSpeedCar)
@synthesize gearBox;
objection_requires(@"gearBox")
@end
@implementation SixSpeedCar
objection_register(SixSpeedCar)
@synthesize gearBox;
@end
@implementation CarFactory
objection_register_singleton(CarFactory)
@end
@implementation SingletonItemHolder
@synthesize singletonItem;
objection_register(SingletonItemHolder)
objection_requires(@"singletonItem")
@end
@implementation SingletonItem
objection_register_singleton(SingletonItem)
@end
@implementation JSObjectFactoryHolder
objection_register_singleton(JSObjectFactoryHolder)
objection_requires(@"objectFactory")
@synthesize objectFactory;
@end
@implementation SingletonFoo
objection_register_singleton(SingletonFoo)
objection_requires(@"bar")
@synthesize bar;
@end
@implementation UnstoppableCar
objection_requires_sel(@selector(engine))
@end
@implementation Headlight
objection_register(Headlight)
@end
@implementation HIDHeadlight
objection_register(HIDHeadlight)
@end
@implementation ShinyCar
objection_register(ShinyCar)
objection_requires_names((@{@"LeftHeadlight":@"leftHeadlight", @"RightHeadlight":@"rightHeadlight"}))
objection_requires(@"foglight")
@synthesize leftHeadlight, rightHeadlight, foglight;
@end
@implementation Blinker
objection_register(Blinker)
@synthesize speed;
@end
@implementation FlashyCar
objection_register(FlashyCar)
objection_requires_names((@{ @"LeftBlinker":@"leftBlinker",@"RightBlinker":@"rightBlinker"}))
@synthesize leftBlinker, rightBlinker;
@end
@implementation Highbeam
objection_register_singleton(Highbeam)
@end
@implementation BrightCar
objection_register(BrightCar)
objection_requires_names((@{ @"LeftHighbeam":@"leftHighbeam",@"RightHighbeam":@"rightHighbeam"}))
@synthesize leftHighbeam, rightHighbeam;
@end