예제 #1
0
 def test_paths():
     multigraph = MultiGraph()
     multigraph.add_nodes_from(range(4))
     breakpoint_graph = BreakpointGraph(multigraph)
     first_color = ['A', 'C']
     second_color = ['B', 'D']
     topology = (first_color, second_color)
     breakpoint_graph.add_edge(0, 1, Multicolor(*first_color))
     breakpoint_graph.add_edge(2, 3, Multicolor(*first_color))
     breakpoint_graph.add_edge(1, 2, Multicolor(*second_color))
     breakpoint_graph.add_edge(0, 3, Multicolor(*second_color))
     assert (get_size_of_alternating_structures(breakpoint_graph, topology) == 3)
예제 #2
0
 def test_diamond():
     multigraph = MultiGraph()
     multigraph.add_nodes_from(range(4))
     breakpoint_graph = BreakpointGraph(multigraph)
     first_color = ['A', 'C']
     second_color = ['B', 'D']
     topology = (first_color, second_color)
     breakpoint_graph.add_edge(0, 1, Multicolor(*[A]))
     breakpoint_graph.add_edge(2, 3, Multicolor(*[B]))
     breakpoint_graph.add_edge(1, 2, Multicolor(*[C]))
     breakpoint_graph.add_edge(0, 3, Multicolor(*[D]))
     assert (len(find_diamond_patterns(breakpoint_graph)) == 1)
예제 #3
0
 def test_cylinder():
     multigraph1 = MultiGraph()
     multigraph1.add_nodes_from(range(4))
     breakpoint_graph1 = BreakpointGraph(multigraph1)
     double_color = ['A', 'B']
     breakpoint_graph1.add_edge(0, 1, Multicolor(*double_color))
     breakpoint_graph1.add_edge(2, 3, Multicolor(*double_color))
     breakpoint_graph1.add_edge(1, 2, Multicolor('C'))
     breakpoint_graph1.add_edge(0, 3, Multicolor('D'))
     assert (len(find_cylinder_patterns(breakpoint_graph1)) == 1)
     multigraph2 = MultiGraph()
     multigraph2.add_nodes_from(range(4))
     breakpoint_graph2 = BreakpointGraph(multigraph2)
     double_color = ['A', 'B']
     breakpoint_graph2.add_edge(0, 1, Multicolor(*double_color))
     breakpoint_graph2.add_edge(2, 3, Multicolor(*double_color))
     breakpoint_graph2.add_edge(1, 2, Multicolor('C'))
     breakpoint_graph2.add_edge(0, 3, Multicolor('C'))
     assert (len(find_cylinder_patterns(breakpoint_graph2)) == 0)