diff --git a/.gitignore b/.gitignore index 505a3b1..1f8f3c6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ wheels/ # Virtual environments .venv + + +*.ipynb \ No newline at end of file diff --git a/tests/test_mapping.py b/tests/test_mapping.py index 08f66fe..f1571f0 100644 --- a/tests/test_mapping.py +++ b/tests/test_mapping.py @@ -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]