tests.test_injectors.test_inject_class   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 71
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 50
dl 0
loc 71
rs 10
c 0
b 0
f 0
wmc 4

4 Functions

Rating   Name   Duplication   Size   Complexity  
A test_field_injector_correctly_injects_class_before_field() 0 11 1
A test_tail_injector_correctly_injects_class() 0 7 1
A test_head_injector_correctly_injects_class() 0 7 1
A test_field_injector_correctly_injects_class_after_field() 0 11 1
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