def test_has_marked_path(): graph = MarkedPatternGraph(nodes=['a', 'b']) graph.add_undirected_edge(('a', 'b')) graph.add_marked_arrowhead(('a', 'b')) assert graph.has_marked_arrowhead(('a', 'b')) == True graph.add_undirected_edge(('b', 'c')) assert graph.has_marked_path(('a', 'c')) == False graph.add_marked_arrowhead(('b', 'c')) assert graph.has_marked_path(('a', 'c')) == True assert graph.get_nodes_of_edges() == set({'a', 'b', 'c'})
def test_longer_marked_path_exists(): # a -*> b -*> c -*> d # \ / # \ / # \ / # ------ graph = MarkedPatternGraph(nodes=['a', 'b', 'c', 'd']) graph.add_undirected_edge(('a', 'b')) graph.add_undirected_edge(('b', 'c')) graph.add_undirected_edge(('c', 'd')) graph.add_undirected_edge(('a', 'd')) graph.add_marked_arrowhead(('a', 'b')) graph.add_marked_arrowhead(('b', 'c')) graph.add_marked_arrowhead(('c', 'd')) assert graph.has_marked_path(('d', 'c')) == False