def test_add_edge_and_remove_edge(self): g = DiGraph() # adding nodes to the graph for i in range(10): g.add_node(i) # creating edges for i in range(4): g.add_edge(i, i + 3, i * 5 / 2) my_dict = g.get_all_v() # checking if the edges successfully added in the node for i in range(4): current_node = my_dict[i] edge_dic = current_node.edges_towards self.assertEqual(edge_dic[i + 3], i * 5 / 2) # removing the edges for i in range(4): g.remove_edge(i, i + 3) my_dict = g.get_all_v() flag = True # checking if the edges were removed successfully for i in range(4): current_node = my_dict[i] empty_dict = {} if empty_dict != current_node.edges_towards: flag = False break self.assertEqual(True, flag)
def test_get_all_v(self): g = DiGraph() my_dict = {} for i in range(10000): g.add_node(i) current_node = g.get_all_v()[i] my_dict[i] = current_node self.assertEqual(my_dict, g.get_all_v())
def test_add_remove(self): """ This test contains the basic methods implemented in DiGraph @:param: mc -> measured by the method "get_mc" @:param: nodes -> measured by the method "v_size" @:param: edges -> measured by the method "e_size" :return: True if it works """ print("test add remove") graph = DiGraph() graph.add_node(1) self.assertEqual(graph.v_size(), 1, "You have added a node to your Graph") self.assertEqual(graph.get_mc(), 1, "You have added a node to your Graph") self.assertEqual(graph.e_size(), 0, "The graph is Edges free") graph.add_node(2) self.assertEqual(graph.v_size(), 2, "You have added a node to your Graph") graph.add_edge(1, 2, 2.0) self.assertEqual(graph.get_mc(), 3, "You have a 2 node Graph") self.assertEqual(graph.e_size(), 1, "The graph has 1 Edge") graph.remove_node(2) self.assertFalse(2 in graph.get_all_v()) print("Completed")