more reorg
This commit is contained in:
@@ -89,32 +89,59 @@ class TestDAGSetBasicOps:
|
||||
class TestDAGSetCallbacks:
|
||||
"""Test callback mechanisms."""
|
||||
|
||||
def test_on_add_callback(self) -> None:
|
||||
added: list[int] = []
|
||||
s = DAGSetView({1, 2})
|
||||
s.on_add = lambda v: added.append(v)
|
||||
s.add(3)
|
||||
assert 3 in added
|
||||
assert len(added) == 1
|
||||
class TestBasicOps:
|
||||
def test_on_add_callback(self) -> None:
|
||||
added: list[int] = []
|
||||
s = DAGSetView({1, 2})
|
||||
s.on_add = lambda v: added.append(v)
|
||||
s.add(3)
|
||||
assert 3 in added
|
||||
assert len(added) == 1
|
||||
|
||||
def test_on_remove_callback(self) -> None:
|
||||
removed: list[int] = []
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s.on_remove = lambda v: removed.append(v)
|
||||
s.discard(2)
|
||||
assert 2 in removed
|
||||
assert len(removed) == 1
|
||||
def test_on_remove_callback(self) -> None:
|
||||
removed: list[int] = []
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s.on_remove = lambda v: removed.append(v)
|
||||
s.discard(2)
|
||||
assert 2 in removed
|
||||
assert len(removed) == 1
|
||||
|
||||
def test_callbacks_none_by_default(self) -> None:
|
||||
s = DAGSetView()
|
||||
assert s.on_add is None
|
||||
assert s.on_remove is None
|
||||
|
||||
class TestInPlaceOperators:
|
||||
def test_ior_triggers_callbacks(self) -> None:
|
||||
added: list[int] = []
|
||||
s = DAGSetView({1})
|
||||
s.on_add = lambda v: added.append(v)
|
||||
s |= {2, 3}
|
||||
assert 2 in added
|
||||
assert 3 in added
|
||||
|
||||
def test_iadd_triggers_callbacks(self) -> None:
|
||||
added: list[int] = []
|
||||
s = DAGSetView({1})
|
||||
s.on_add = lambda v: added.append(v)
|
||||
s += [2, 3]
|
||||
assert 2 in added
|
||||
assert 3 in added
|
||||
|
||||
def test_isub_triggers_callbacks(self) -> None:
|
||||
removed: list[int] = []
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s.on_remove = lambda v: removed.append(v)
|
||||
s -= {2, 3}
|
||||
assert 2 in removed
|
||||
assert 3 in removed
|
||||
|
||||
def test_callbacks_none_by_default(self) -> None:
|
||||
s = DAGSetView()
|
||||
assert s.on_add is None
|
||||
assert s.on_remove is None
|
||||
|
||||
|
||||
class TestDAGSetInPlaceOperators:
|
||||
"""Test in-place set operators."""
|
||||
|
||||
class TestDAGSetIOR:
|
||||
class TestIOR:
|
||||
def test_set(self) -> None:
|
||||
s = DAGSetView({1, 2})
|
||||
s |= {3, 4}
|
||||
@@ -130,86 +157,56 @@ class TestDAGSetInPlaceOperators:
|
||||
s |= "xyz"
|
||||
assert "xyz" in s
|
||||
|
||||
class TestDAGSetIAdd:
|
||||
pass
|
||||
class TestIAdd:
|
||||
def test_set(self) -> None:
|
||||
s = DAGSetView({1, 2})
|
||||
s += {3, 4}
|
||||
assert set(s) == {1, 2, 3, 4}
|
||||
|
||||
class TestDAGSetISub:
|
||||
pass
|
||||
def test_list(self) -> None:
|
||||
s = DAGSetView({1})
|
||||
s += [2, 3]
|
||||
assert set(s) == {1, 2, 3}
|
||||
|
||||
def test_iadd_with_set(self) -> None:
|
||||
s = DAGSetView({1, 2})
|
||||
s += {3, 4}
|
||||
assert set(s) == {1, 2, 3, 4}
|
||||
def test_string(self) -> None:
|
||||
s = DAGSetView({"a"})
|
||||
s += "b"
|
||||
assert "b" in s
|
||||
|
||||
def test_iadd_with_list(self) -> None:
|
||||
s = DAGSetView({1})
|
||||
s += [2, 3]
|
||||
assert set(s) == {1, 2, 3}
|
||||
class TestISub:
|
||||
def test_set(self) -> None:
|
||||
s = DAGSetView({1, 2, 3, 4})
|
||||
s -= {2, 3}
|
||||
assert set(s) == {1, 4}
|
||||
|
||||
def test_iadd_with_string(self) -> None:
|
||||
s = DAGSetView({"a"})
|
||||
s += "b"
|
||||
assert "b" in s
|
||||
def test_list(self) -> None:
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s -= [2]
|
||||
assert set(s) == {1, 3}
|
||||
|
||||
def test_isub_with_set(self) -> None:
|
||||
s = DAGSetView({1, 2, 3, 4})
|
||||
s -= {2, 3}
|
||||
assert set(s) == {1, 4}
|
||||
def test_string(self) -> None:
|
||||
s = DAGSetView({"a", "b", "c"})
|
||||
s -= "b"
|
||||
assert set(s) == {"a", "c"}
|
||||
|
||||
def test_isub_with_list(self) -> None:
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s -= [2]
|
||||
assert set(s) == {1, 3}
|
||||
class TestIAnd:
|
||||
def test_set(self) -> None:
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s &= {2, 3, 4}
|
||||
assert set(s) == {2, 3}
|
||||
|
||||
def test_isub_with_string(self) -> None:
|
||||
s = DAGSetView({"a", "b", "c"})
|
||||
s -= "b"
|
||||
assert set(s) == {"a", "c"}
|
||||
def test_list(self) -> None:
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s &= [2, 3]
|
||||
assert set(s) == {2, 3}
|
||||
|
||||
def test_iand_with_set(self) -> None:
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s &= {2, 3, 4}
|
||||
assert set(s) == {2, 3}
|
||||
class TestIXor:
|
||||
def test_set(self) -> None:
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s ^= {3, 4, 5}
|
||||
assert set(s) == {1, 2, 4, 5}
|
||||
|
||||
def test_iand_with_list(self) -> None:
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s &= [2, 3]
|
||||
assert set(s) == {2, 3}
|
||||
|
||||
def test_ixor_with_set(self) -> None:
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s ^= {3, 4, 5}
|
||||
assert set(s) == {1, 2, 4, 5}
|
||||
|
||||
def test_ixor_with_list(self) -> None:
|
||||
s = DAGSetView({1, 2})
|
||||
s ^= [2, 3]
|
||||
assert set(s) == {1, 3}
|
||||
|
||||
|
||||
class TestDAGSetCallbacksWithOperators:
|
||||
"""Test that callbacks fire with in-place operators."""
|
||||
|
||||
def test_ior_triggers_callbacks(self) -> None:
|
||||
added: list[int] = []
|
||||
s = DAGSetView({1})
|
||||
s.on_add = lambda v: added.append(v)
|
||||
s |= {2, 3}
|
||||
assert 2 in added
|
||||
assert 3 in added
|
||||
|
||||
def test_iadd_triggers_callbacks(self) -> None:
|
||||
added: list[int] = []
|
||||
s = DAGSetView({1})
|
||||
s.on_add = lambda v: added.append(v)
|
||||
s += [2, 3]
|
||||
assert 2 in added
|
||||
assert 3 in added
|
||||
|
||||
def test_isub_triggers_callbacks(self) -> None:
|
||||
removed: list[int] = []
|
||||
s = DAGSetView({1, 2, 3})
|
||||
s.on_remove = lambda v: removed.append(v)
|
||||
s -= {2, 3}
|
||||
assert 2 in removed
|
||||
assert 3 in removed
|
||||
def test_list(self) -> None:
|
||||
s = DAGSetView({1, 2})
|
||||
s ^= [2, 3]
|
||||
assert set(s) == {1, 3}
|
||||
|
||||
Reference in New Issue
Block a user