Passed
Push — dev ( f24a39...26c35c )
by Konstantinos
01:24
created

test_event_data   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 20
rs 10
c 0
b 0
f 0
wmc 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A test_event_data_passing() 0 17 1
1
from software_patterns import Subject, Observer
2
3
def test_event_data_passing():
4
    class EventObserver(Observer):
5
        def __init__(self):
6
            self.received_data = None
7
        def update(self, subject):
8
            # Try to access event data
9
            self.received_data = getattr(subject, 'event_data', None)
10
11
    subject = Subject([])
12
    observer = EventObserver()
13
    subject.attach(observer)
14
15
    # Set event data on subject
16
    subject.event_data = {'type': 'custom', 'payload': 42}
17
    subject.notify()
18
19
    assert observer.received_data == {'type': 'custom', 'payload': 42}
20