def test_add_marked_arrows(): graph = MarkedPatternGraph(nodes=['a', 'b'], undirected_edges=[('a', 'b')]) graph.add_marked_arrow(('c', 'd')) assert graph.get_marked_arrows() == set({('c', 'd')}) assert set(graph.get_edges()) == set( {frozenset({'a', 'b'}), frozenset({'c', 'd'})})
def test_remove_undirected_edge_when_not_exist(): graph = MarkedPatternGraph(nodes=['a', 'b']) graph.remove_undirected_edge(('a', 'b')) assert set(graph.get_undirected_edges()) == set({}) assert set(graph.get_unmarked_arrows()) == set({}) assert set(graph.get_marked_arrows()) == set({}) assert set(graph.get_bidirectional_edges()) == set({}) assert set(graph.get_edges()) == set({})
def test_add_marked_arrowhead(): graph = MarkedPatternGraph(nodes=['a', 'b']) graph.add_undirected_edge(('a', 'b')) graph.add_marked_arrowhead(('a', 'b')) assert set(graph.get_undirected_edges()) == set({}) assert set(graph.get_unmarked_arrows()) == set({}) assert set(graph.get_marked_arrows()) == set({('a', 'b')}) assert set(graph.get_bidirectional_edges()) == set({}) assert set(graph.get_edges()) == set({frozenset({'a', 'b'})})
def test_simple(): # a c # \ / # v v # b # | # d graph = MarkedPatternGraph(nodes=['a', 'b', 'c', 'd']) graph.add_undirected_edge(('a', 'b')) graph.add_undirected_edge(('c', 'b')) graph.add_undirected_edge(('b', 'd')) graph.add_arrowhead(('a', 'b')) graph.add_arrowhead(('c', 'b')) assert graph.get_edges() == set( {frozenset({'a', 'b'}), frozenset({'b', 'c'}), frozenset({'b', 'd'})})