more tests
This commit is contained in:
@@ -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."""
|
||||||
|
|||||||
Reference in New Issue
Block a user