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_bidirectional_edges(): graph = MarkedPatternGraph(nodes=['a', 'b']) graph.add_undirected_edge(('a', 'b')) graph.add_arrowhead(('a', 'b')) graph.add_arrowhead(('b', 'a')) 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({frozenset({'a', 'b'})})
def test_immorality_across_time(): # X_t=1 --> Y_t=2 <-- X_t=3 graph = MarkedPatternGraph(nodes=['X_t=1', 'Y_t=2', 'X_t=3'], unmarked_arrows=[('X_t=1', 'Y_t=2'), ('X_t=3', 'Y_t=2')]) TimeEdgeOrienter(graph).orient() # X_t=1 --> Y_t=2 <--> X_t=3 assert graph.get_unmarked_arrows() == set({('X_t=1', 'Y_t=2')}) assert graph.get_bidirectional_edges() == set( {frozenset({'X_t=3', 'Y_t=2'})})