test_event_data.test_event_data_passing()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 18
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 12
nop 0
dl 0
loc 18
rs 9.8
c 0
b 0
f 0
1
from software_patterns import Observer, Subject
2
3
4
def test_event_data_passing():
5
    class EventObserver(Observer):
6
        def __init__(self):
7
            self.received_data = None
8
9
        def update(self, subject):
10
            # Try to access event data
11
            self.received_data = getattr(subject, 'event_data', None)
12
13
    subject = Subject([])
14
    observer = EventObserver()
15
    subject.attach(observer)
16
17
    # Set event data on subject
18
    subject.event_data = {'type': 'custom', 'payload': 42}
19
    subject.notify()
20
21
    assert observer.received_data == {'type': 'custom', 'payload': 42}
22