ensure_set
This commit is contained in:
@@ -45,11 +45,19 @@ class TestDAGOps:
|
||||
assert "bar" in g._succ
|
||||
assert "baz" in g._succ["bar"]
|
||||
assert set(g["bar"]) == {"baz"}
|
||||
|
||||
assert "bar" in g["foo"]
|
||||
assert "baz" in g["foo"]
|
||||
assert "baz" in g["bar"]
|
||||
|
||||
def test_dagsetview(self) -> None:
|
||||
g = DAG[str]()
|
||||
added = []
|
||||
g.on_add = lambda u, v: added.append(v)
|
||||
g["foo"] += {"bar", "baz"}
|
||||
assert set(g["foo"]) == {"bar", "baz"}
|
||||
assert "bar" in added
|
||||
assert "baz" in added
|
||||
|
||||
def test_self_loop_raises_error(self) -> None:
|
||||
g = DAG[str]()
|
||||
with pytest.raises(ValueError, match="Self-loops are not allowed"):
|
||||
@@ -80,6 +88,15 @@ class TestDAGOps:
|
||||
with pytest.raises(KeyError):
|
||||
g.remove_edge("foo", "bar", missing_ok=False)
|
||||
|
||||
def test_dagsetview(self) -> None:
|
||||
g = DAG[str]()
|
||||
g["foo"] += {"bar", "baz"}
|
||||
removed = []
|
||||
g.on_remove = lambda u, v: removed.append(v)
|
||||
g["foo"] -= {"baz"}
|
||||
assert set(g["foo"]) == {"bar"}
|
||||
assert "baz" in removed
|
||||
|
||||
class TestDAGDiscardNode:
|
||||
"""Test node removal."""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user