asserting type
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -8,3 +8,6 @@ wheels/
|
||||
|
||||
# Virtual environments
|
||||
.venv
|
||||
|
||||
|
||||
*.ipynb
|
||||
@@ -1,3 +1,4 @@
|
||||
from hooked_containers import events as e
|
||||
from hooked_containers.mapping import HookedMapping
|
||||
|
||||
|
||||
@@ -25,14 +26,24 @@ class TestHookedMapping:
|
||||
class TestMappingOps:
|
||||
def test_setitem(self):
|
||||
added = []
|
||||
m = HookedMapping({}, lambda e: added.append(e.item))
|
||||
|
||||
def hook(event: e.ChangeEvent):
|
||||
assert isinstance(event, e.AddItemEvent)
|
||||
added.append(event.item)
|
||||
|
||||
m = HookedMapping({}, hook)
|
||||
m["a"] = 1
|
||||
assert m._data == {"a": 1}
|
||||
assert added == [1]
|
||||
|
||||
def test_nested_setitem(self):
|
||||
added = []
|
||||
m = HookedMapping({"a": {}}, lambda e: added.append(e.item))
|
||||
|
||||
def hook(event: e.ChangeEvent):
|
||||
assert isinstance(event, e.AddItemEvent)
|
||||
added.append(event.item)
|
||||
|
||||
m = HookedMapping({"a": {}}, hook)
|
||||
m["a"]["x"] = 1
|
||||
assert m._data == {"a": {"x": 1}}
|
||||
assert added == [1]
|
||||
|
||||
Reference in New Issue
Block a user