Passed
Pull Request — master (#1)
by Konstantinos
59s
created

test_termination_condition_adapter.test_adapter()   A

Complexity

Conditions 1

Size

Total Lines 11
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 11
rs 10
c 0
b 0
f 0
cc 1
nop 1
1
import pytest
2
3
@pytest.fixture
4
def termination_condition_adapter(termination_condition):
5
    from artificial_artwork.termination_condition_adapter import TerminationConditionAdapterFactory
6
    termination_condition_instance = termination_condition('max-iterations', 4)
7
    return TerminationConditionAdapterFactory.create('max-iterations', termination_condition_instance)
8
9
10
11
@pytest.fixture
12
def test_objects(broadcaster_class, termination_condition_adapter):
13
    from artificial_artwork.utils.notification import Subject
14
    return type('O', (), {
15
        'broadcaster': broadcaster_class(Subject(), lambda: termination_condition_adapter.satisfied),
16
        'adapter': termination_condition_adapter
17
    })
18
19
20
def test_adapter(test_objects):
21
    # subscribe adapter to broadcaster
22
    test_objects.broadcaster.subject.attach(test_objects.adapter)
23
24
    # select a loop function (from test implementations)
25
26
    # iterate
27
    iterations = test_objects.broadcaster.iterate()
28
29
    # assert iterations completed are the expected nb of oiterations
30
    assert iterations == 4
31