def test_nodes_are_only_added_once(clear_default_graph): graph = Graph() node = NodeForTesting() for i in range(10): graph.add_node(node) assert len(graph.nodes) == 1
def test_node_names_on_graph_have_to_be_unique(clear_default_graph): graph = Graph() same_name = "Same Name" node_1 = NodeForTesting(name=same_name, graph=None) graph.add_node(node_1) node_2 = NodeForTesting(name=same_name, graph=None) with pytest.raises(ValueError): graph.add_node(node_2)
def test_nodes_can_be_accessed_via_name_through_indexing(clear_default_graph): graph = Graph() test_name = "TestName" node = NodeForTesting(name=test_name) graph.add_node(node) assert graph[test_name] == node with pytest.raises(KeyError): graph["Does not exist"]
def test_nodes_can_be_added_to_graph(clear_default_graph): """Nodes add themselves to their graph as their parent.""" graph = Graph() graph.add_node(NodeForTesting()) assert 1 == len(graph.nodes)