def test_graph_k_shortest_path_lengths(self): graph = retworkx.PyGraph() graph.add_nodes_from(list(range(8))) graph.add_edges_from_no_data([(0, 1), (1, 2), (2, 3), (3, 0), (4, 5), (1, 4), (5, 6), (6, 7), (7, 5)]) res = retworkx.graph_k_shortest_path_lengths(graph, 1, 2, lambda _: 1) expected = {0: 3, 1: 2, 2: 3, 3: 2, 4: 3, 5: 4, 6: 4, 7: 4} self.assertEqual(res, expected)
def test_k_graph_shortest_path_with_goal(self): graph = retworkx.PyGraph() graph.add_nodes_from(list(range(7))) graph.add_edges_from_no_data([(0, 1), (0, 6), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]) res = retworkx.graph_k_shortest_path_lengths(graph, 0, 2, lambda _: 1, 3) self.assertEqual({3: 4}, res)
def test_k_graph_shortest_path_with_goal_node_hole(self): graph = retworkx.generators.path_graph(4) graph.remove_node(0) res = retworkx.graph_k_shortest_path_lengths(graph, start=1, k=1, edge_cost=lambda _: 1, goal=3) self.assertEqual({3: 2}, res)