more tests

This commit is contained in:
John Lancaster
2026-02-21 10:25:12 -06:00
parent 7a9a72775e
commit 2ccb7cb786

View File

@@ -99,6 +99,14 @@ class TestDAGSetCallbacks:
assert len(added) == 1 assert len(added) == 1
def test_on_remove_callback(self) -> None: def test_on_remove_callback(self) -> None:
removed: list[int] = []
s = DAGSetView({1, 2, 3})
s.on_remove = lambda v: removed.append(v)
s.remove(2)
assert 2 in removed
assert len(removed) == 1
def test_on_discard_callback(self) -> None:
removed: list[int] = [] removed: list[int] = []
s = DAGSetView({1, 2, 3}) s = DAGSetView({1, 2, 3})
s.on_remove = lambda v: removed.append(v) s.on_remove = lambda v: removed.append(v)
@@ -136,6 +144,26 @@ class TestDAGSetCallbacks:
assert 2 in removed assert 2 in removed
assert 3 in removed assert 3 in removed
def test_iand_triggers_callbacks(self) -> None:
removed: list[int] = []
s = DAGSetView({1, 2, 3, 4})
s.on_remove = lambda v: removed.append(v)
s &= {2, 3}
assert 1 in removed
assert 4 in removed
assert len(removed) == 2
def test_ixor_triggers_callbacks(self) -> None:
added: list[int] = []
removed: list[int] = []
s = DAGSetView({1, 2, 3})
s.on_add = lambda v: added.append(v)
s.on_remove = lambda v: removed.append(v)
s ^= {3, 4, 5}
assert 3 in removed
assert 4 in added
assert 5 in added
class TestDAGSetInPlaceOperators: class TestDAGSetInPlaceOperators:
"""Test in-place set operators.""" """Test in-place set operators."""