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_e_size(self): counter = 0 g = DiGraph() for i in range(10000): g.add_node(i) for i in range(500): g.add_edge(i, (i + 1) * 10, i * 10 / 5) counter += 1 self.assertEqual(counter, g.e_size()) for i in range(100): g.remove_edge(i, (i + 1) * 10) counter -= 1 self.assertEqual(counter, g.e_size())
class TestDiGraph(unittest.TestCase): def setUp(self) -> None: """ build the central graph for all the tests """ self.graph = DiGraph() self.graph.add_node(1) self.graph.add_node(2) self.graph.add_node(3) self.graph.add_node(4) self.graph.add_node(5) self.graph.add_edge(1, 2, 600) self.graph.add_edge(2, 3, 600) self.graph.add_edge(3, 1, 600) self.graph.add_edge(3, 4, 600) self.graph.add_edge(4, 5, 600) self.graph.add_edge(5, 4, 600) def test_v_size(self): self.assertEqual(5, self.graph.v_size()) def test_e_size(self): self.assertEqual(6, self.graph.e_size()) def test_get_mc(self): self.assertEqual(11, self.graph.get_mc()) def test_removeEdge(self): self.graph.remove_edge(3, 1) self.graph.remove_edge(2, 3) self.graph.remove_edge(5, 4) self.assertEqual(3, self.graph.e_size()) self.graph.add_edge(3, 1, 1.67) self.assertEqual(4, self.graph.e_size()) def test_removeNode(self): self.graph.remove_node(1) self.graph.remove_node(3) self.graph.remove_node(1) self.assertEqual(3, self.graph.v_size()) def test_add_node(self): self.graph.add_node(6) self.graph.add_node(7) self.graph.add_node(8) self.graph.add_node(8) self.assertEqual(8, self.graph.v_size()) def test_all_in_edges_of_node(self): self.assertTrue(len(self.graph.all_in_edges_of_node(1)) == 1) self.assertTrue(len(self.graph.all_in_edges_of_node(2)) == 1) self.graph.add_node(6) self.graph.add_edge(6, 3, 5.5) self.assertTrue(len(self.graph.all_in_edges_of_node(3)) == 2) def test_all_out_edges_of_node(self): self.assertTrue(len(self.graph.all_out_edges_of_node(2)) == 1) self.assertTrue(len(self.graph.all_out_edges_of_node(4)) == 1) self.assertTrue(len(self.graph.all_out_edges_of_node(3)) == 2)