Пример #1
0
 def test_save_and_load_json(self):
     graph = self.create_graph()
     g1_algo = GraphAlgo(graph)
     g1_algo.save_to_json("Test.json")
     g2_algo = GraphAlgo()
     g2_algo.load_from_json("Test.json")
     self.assertTrue(g1_algo.graph.__eq__(g2_algo.graph))
     self.assertEqual(g1_algo.graph.v_size(), g2_algo.graph.v_size())
     self.assertEqual(g1_algo.graph.e_size(), g2_algo.graph.e_size())
     g2_algo.graph.remove_node(3)
     self.assertNotEqual(g1_algo.graph.v_size(), g2_algo.graph.v_size())
     self.assertNotEqual(g1_algo.graph.e_size(), g2_algo.graph.e_size())
Пример #2
0
def check1():
    """
       This function tests the naming (main methods of the GraphAlgo class, as defined in GraphAlgoInterface.
    :return:
    """
    g_algo = GraphAlgo()  # init an empty graph - for the GraphAlgo
    file = '../data/T0.json'
    g_algo.load_from_json(file)  # init a GraphAlgo from a json file
    print(g_algo.connected_components())
    print(g_algo.shortest_path(0, 3))
    print(g_algo.shortest_path(3, 1))
    g_algo.save_to_json(file + "_aved")
    g_algo.plot_graph()
Пример #3
0
def check2():
    """ This function tests the naming, basic testing over A5 json file.
      :return:
      """
    g_algo = GraphAlgo()
    file = '../data/A5'
    g_algo.load_from_json(file)
    g_algo.get_graph().remove_edge(13, 14)
    g_algo.save_to_json(file + "_edited")
    dist, path = g_algo.shortest_path(1, 7)
    print(dist, path)
    dist, path = g_algo.shortest_path(47, 19)
    print(dist, path)
    dist, path = g_algo.shortest_path(20, 2)
    print(dist, path)
    dist, path = g_algo.shortest_path(2, 20)
    print(dist, path)
    print(g_algo.connected_component(0))
    print(g_algo.connected_components())
    g_algo.plot_graph()