1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
import pygraphviz as pgv
stringify = pgv.testing.stringify
def test_node_attribute():
A = pgv.AGraph()
A.add_node(1, label="test", spam="eggs")
ans = """strict graph { node [label="\\N"]; 1 [label=test, spam=eggs]; }"""
assert stringify(A) == ans
def test_node_attributes2():
A = pgv.AGraph()
A.add_node(1)
one = A.get_node(1)
one.attr["label"] = "test"
one.attr["spam"] = "eggs"
assert "label" in one.attr
assert one.attr["label"] == "test"
assert sorted(one.attr.keys()) == ["label", "spam"]
ans = """strict graph { node [label="\\N"]; 1 [label=test, spam=eggs]; }"""
assert stringify(A) == ans
one.attr["label"] = ""
one.attr["spam"] = ""
ans = """strict graph { node [label="\\N"]; 1 [label=""]; }"""
assert stringify(A) == ans
one.attr["label"] = "test"
del one.attr["label"]
ans = """strict graph { node [label="\\N"]; 1 [label=""]; }"""
assert stringify(A) == ans
def test_node_attribute_update():
A = pgv.AGraph()
A.add_node(1, label="test", spam="eggs")
A.add_node(1, label="updated")
ans = """strict graph { node [label="\\N"]; 1 [label=updated, spam=eggs]; }"""
assert stringify(A) == ans
def test_node_attribute_remove():
A = pgv.AGraph()
A.add_node(1, label="test", spam="eggs")
A.add_node(1, label=r"\N", spam="") # use \N to signify null label, else ''
ans = """strict graph { node [label="\\N"]; 1; }"""
assert stringify(A) == ans
|