Beispiel #1
0
    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 ],
      )
Beispiel #3
0
    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 ] ) )
Beispiel #6
0
    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]))