Conditions | 1 |
Total Lines | 17 |
Code Lines | 12 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | import typing as t |
||
8 | def test_singleton(assert_same_objects): |
||
9 | class MySingleton(metaclass=Singleton): |
||
10 | def __init__(self, data: t.MutableMapping): |
||
11 | self.data = data |
||
12 | |||
13 | instance_1 = MySingleton({'a': 1}) |
||
14 | instance_2 = MySingleton({'b': 2}) |
||
15 | |||
16 | assert_same_objects(instance_1, instance_2) |
||
17 | |||
18 | assert instance_1.data['a'] == instance_2.data['a'] == 1 |
||
19 | assert 'b' not in instance_1.data |
||
20 | assert 'b' not in instance_2.data |
||
21 | |||
22 | instance_1.data['c'] = 0 |
||
23 | |||
24 | assert instance_2.data['c'] == 0 |
||
25 | |||
64 |