def test_zero_distance_to_start(self): number_of_vertices = 4 start_vertex = 0 finish_vertex = 3 edges = [[0, 1, 10.0], [1, 2, 20.0], [2, 3, 30.0]] vertices = initialize_vertices(number_of_vertices, start_vertex) vertices = initialize_connections(vertices, edges) vertices = compute_distances_from_start(vertices) self.assertEqual(vertices[start_vertex][1], 0)
def test_obvious_path(self): number_of_vertices = 4 start_vertex = 0 finish_vertex = 3 edges = [[0, 1, 10.0], [1, 2, 20.0], [2, 3, 30.0]] vertices = initialize_vertices(number_of_vertices, start_vertex) vertices = initialize_connections(vertices, edges) vertices = compute_distances_from_start(vertices) path = find_path(vertices, start_vertex, finish_vertex) self.assertEqual(path, [0, 1, 2, 3])
def test_not_too_long_path(self): number_of_vertices = 4 start_vertex = 0 finish_vertex = 3 edges = [[0, 1, 10.0], [1, 2, 20.0], [2, 3, 30.0]] vertices = initialize_vertices(number_of_vertices, start_vertex) vertices = initialize_connections(vertices, edges) vertices = compute_distances_from_start(vertices) path = find_path(vertices, start_vertex, finish_vertex) self.assertLessEqual(len(path), number_of_vertices)
[1, 4, 10.0], [1, 2, 10.0], [1, 3, 10.0], [2, 4, 30.0], [3, 4, 40.0], [3, 7, 60.0], [4, 6, 10.0], [4, 5, 30.0], [5, 9, 20.0], [6, 7, 50.0], [7, 8, 10.0], [6, 8, 10.0], [6, 9, 10.0], [7, 10, 50.0], [8, 11, 50.0], [8, 9, 20.0], [9, 11, 10.0], [11, 10, 20.0]] vertices = initialize_vertices(number_of_vertices, start_vertex) vertices = initialize_connections(vertices, edges) vertices = compute_distances_from_start(vertices) # for vertex in range(len(vertices)): # print(vertices[vertex]) path = find_path(vertices, start_vertex, finish_vertex) print("Path :", path)