def test_add_edge(self): g = Graph() # g.add_vertex(1) g.add_edge(1, 2, 3) print(g) for e in g.edge_list: print(e) to_v = g.get_vertex(1).out_neighbors values, keys = to_v.values(), to_v.keys() self.assertEqual(list(keys)[0].value, 2) self.assertEqual(list(values)[0], 3)
def add_vertices_edges(buckets: dict) -> Graph: """ Add all words as vertices, connect two words if they are in the same bucket :return: graph """ graph = Graph() for label in buckets.keys(): for word1 in buckets[label]: for word2 in buckets[label]: if word1 != word2: graph.add_edge(word1, word2) return graph
def test_add_edge(self): g = Graph() g.add_vertex(1) g.add_edge(1, 2, 3) to_v = g.get_vertex(1).connect_to values, keys = to_v.values(), to_v.keys() self.assertEqual(list(keys)[0].id, 2) self.assertEqual(list(values)[0], 3)
def get_graph(judgments: list, recordings: list) -> Graph: g = Graph() for r in recordings: g.add_vertex(r) for j in judgments: v1, v2, weight = j g.add_undirected_edge(v1, v2, weight) return g
def test_add_vertex(self): g = Graph() g.add_vertex(1) print(g) self.assertEqual(g.vert_list[1].value, 1) self.assertEqual(g.vert_num, 1)
def test_str(self): g = Graph() g.add_vertex(1) g.add_vertex(2) g.add_edge(1, 2) print(g)
def test_add_undirected_edge(self): g = Graph() g.add_undirected_edge(1, 2, 3) print(g) for e in g.edge_list: print(e)
def test_get_vertex(self): g = Graph() g.add_vertex(1) self.assertEqual(g.get_vertex(1).value, 1) self.assertEqual(g.get_vertex(0), None)
def color_all_nodes(g: Graph): for v_key in g.get_vertices(): v = g.get_vertex(v_key) if not v.color: color_nodes_in_subgraph(v)
def test_bfs(self): g = Graph() g.add_vertex(0) g.add_vertex(1) g.add_vertex(2) g.add_vertex(3) g.add_edge(0, 1) g.add_edge(0, 2) g.add_edge(1, 2) g.add_edge(1, 3) start = g.get_vertex(0) bfs(start) print(g)
def test_add_vertex(self): g = Graph() g.add_vertex(1) self.assertEqual(g.vert_list[1].id, 1) self.assertEqual(g.vert_num, 1)