def test_4(self): graph = self.create_graph_from_edges(edges=[ undirected_graph.Edge(vertex1=1, vertex2=2), undirected_graph.Edge(vertex1=2, vertex2=3), undirected_graph.Edge(vertex1=2, vertex2=4), undirected_graph.Edge(vertex1=3, vertex2=4), ], ) res = list( undirected_graph.preorder_depth_first_iteration(vertex=1, graph=graph)) self.assertTrue((res == [1, 2, 3, 4]) or (res == [1, 2, 4, 3])) res = list( undirected_graph.preorder_depth_first_iteration(vertex=2, graph=graph)) self.assertTrue((res == [2, 1, 3, 4]) or (res == [2, 1, 4, 3]) or (res == [2, 3, 4, 1]) or (res == [2, 4, 3, 1])) res = list( undirected_graph.preorder_depth_first_iteration(vertex=3, graph=graph)) self.assertTrue((res == [3, 2, 1, 4]) or (res == [3, 2, 4, 1]) or (res == [3, 4, 2, 1])) res = list( undirected_graph.preorder_depth_first_iteration(vertex=4, graph=graph)) self.assertTrue((res == [4, 3, 2, 1]) or (res == [4, 2, 1, 3]) or (res == [4, 2, 3, 1]))
def test_2(self): graph = self.create_graph_from_edges( edges = [ undirected_graph.Edge( vertex1 = 1, vertex2 = 2 ), ], ) self.assertEqual( list( undirected_graph.preorder_depth_first_iteration(vertex = 1, graph = graph ) ), [ 1, 2 ], ) self.assertEqual( list( undirected_graph.preorder_depth_first_iteration(vertex = 2, graph = graph ) ), [ 2, 1 ], )
def test_2(self): graph = self.create_graph_from_edges(edges=[ undirected_graph.Edge(vertex1=1, vertex2=2), ], ) self.assertEqual( list( undirected_graph.preorder_depth_first_iteration(vertex=1, graph=graph)), [1, 2], ) self.assertEqual( list( undirected_graph.preorder_depth_first_iteration(vertex=2, graph=graph)), [2, 1], )
def test_4(self): graph = self.create_graph_from_edges( edges = [ undirected_graph.Edge( vertex1 = 1, vertex2 = 2 ), undirected_graph.Edge( vertex1 = 2, vertex2 = 3 ), undirected_graph.Edge( vertex1 = 2, vertex2 = 4 ), undirected_graph.Edge( vertex1 = 3, vertex2 = 4 ), ], ) res = list( undirected_graph.preorder_depth_first_iteration(vertex = 1, graph = graph ) ) self.assertTrue( ( res == [ 1, 2, 3, 4 ] ) or ( res == [ 1, 2, 4, 3 ] ) ) res = list( undirected_graph.preorder_depth_first_iteration(vertex = 2, graph = graph ) ) self.assertTrue( ( res == [ 2, 1, 3, 4 ] ) or ( res == [ 2, 1, 4, 3 ] ) or ( res == [ 2, 3, 4, 1 ] ) or ( res == [ 2, 4, 3, 1 ] ) ) res = list( undirected_graph.preorder_depth_first_iteration(vertex = 3, graph = graph ) ) self.assertTrue( ( res == [ 3, 2, 1, 4 ] ) or ( res == [ 3, 2, 4, 1 ] ) or ( res == [ 3, 4, 2, 1 ] ) ) res = list( undirected_graph.preorder_depth_first_iteration(vertex = 4, graph = graph ) ) self.assertTrue( ( res == [ 4, 3, 2, 1 ] ) or ( res == [ 4, 2, 1, 3 ] ) or ( res == [ 4, 2, 3, 1 ] ) )
def test_3(self): graph = self.create_graph_from_edges( edges = [ undirected_graph.Edge( vertex1 = 1, vertex2 = 2 ), undirected_graph.Edge( vertex1 = 2, vertex2 = 3 ), ], ) self.assertEqual( list( undirected_graph.preorder_depth_first_iteration(vertex = 1, graph = graph ) ), [ 1, 2, 3 ], ) self.assertEqual( list( undirected_graph.preorder_depth_first_iteration(vertex = 3, graph = graph ) ), [ 3, 2, 1 ], ) middle = list( undirected_graph.preorder_depth_first_iteration(vertex = 2, graph = graph ) ) self.assertTrue( ( middle == [ 2, 1, 3 ] ) or ( middle == [ 2, 3, 1 ] ) )
def test_3(self): graph = self.create_graph_from_edges(edges=[ undirected_graph.Edge(vertex1=1, vertex2=2), undirected_graph.Edge(vertex1=2, vertex2=3), ], ) self.assertEqual( list( undirected_graph.preorder_depth_first_iteration(vertex=1, graph=graph)), [1, 2, 3], ) self.assertEqual( list( undirected_graph.preorder_depth_first_iteration(vertex=3, graph=graph)), [3, 2, 1], ) middle = list( undirected_graph.preorder_depth_first_iteration(vertex=2, graph=graph)) self.assertTrue((middle == [2, 1, 3]) or (middle == [2, 3, 1]))