Total Complexity | 4 |
Total Lines | 71 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | from injectify.api import inject |
||
2 | from injectify.injectors import ( |
||
3 | HeadInjector, |
||
4 | TailInjector, |
||
5 | FieldInjector, |
||
6 | ) |
||
7 | |||
8 | |||
9 | class cls11: |
||
10 | x = 10 |
||
11 | |||
12 | |||
13 | def test_head_injector_correctly_injects_class(): |
||
14 | @inject(target=cls11, injector=HeadInjector()) |
||
15 | def handler(): |
||
16 | x = 11 |
||
17 | |||
18 | assert cls11.x == 10 |
||
19 | assert cls11().x == 10 |
||
20 | |||
21 | |||
22 | class cls24: |
||
23 | x = 10 |
||
24 | |||
25 | |||
26 | def test_tail_injector_correctly_injects_class(): |
||
27 | @inject(target=cls24, injector=TailInjector()) |
||
28 | def handler(): |
||
29 | x = 11 |
||
30 | |||
31 | assert cls24.x == 11 |
||
32 | assert cls24().x == 11 |
||
33 | |||
34 | |||
35 | class cls37: |
||
36 | x = 10 |
||
37 | y = 20 |
||
38 | z = 30 |
||
39 | |||
40 | |||
41 | def test_field_injector_correctly_injects_class_before_field(): |
||
42 | @inject(target=cls37, injector=FieldInjector('y', insert='before')) |
||
43 | def handler(): |
||
44 | x = 15 |
||
45 | |||
46 | assert cls37.x == 15 |
||
47 | assert cls37().x == 15 |
||
48 | assert cls37.y == 20 |
||
49 | assert cls37().y == 20 |
||
50 | assert cls37.z == 30 |
||
51 | assert cls37().z == 30 |
||
52 | |||
53 | |||
54 | class cls54: |
||
55 | x = 10 |
||
56 | y = 20 |
||
57 | z = 30 |
||
58 | |||
59 | |||
60 | def test_field_injector_correctly_injects_class_after_field(): |
||
61 | @inject(target=cls54, injector=FieldInjector('y', insert='after')) |
||
62 | def handler(): |
||
63 | y = 25 |
||
64 | |||
65 | assert cls54.x == 10 |
||
66 | assert cls54().x == 10 |
||
67 | assert cls54.y == 25 |
||
68 | assert cls54().y == 25 |
||
69 | assert cls54.z == 30 |
||
70 | assert cls54().z == 30 |
||
71 |