def test_floyd_warshall(make_weighted_graph): graph_obj = Graph() graph_obj.name_counter = 1 n1 = Node('n1', {'n2': 2, 'n3': 4}) n2 = Node('n2', {'n1': 2, 'n3': 1, 'n4': 5}) n3 = Node('n3', {'n1': 4, 'n2': 1, 'n4': 3}) n4 = Node('n4', {'n2': 5, 'n3': 3}) graph_obj.add_node(n1) graph_obj.add_node(n2) graph_obj.add_node(n3) graph_obj.add_node(n4) graph = graph_obj.graph inf = float('inf') adj_matrix_of_graph = { 'n1': { 'n1': 0, 'n2': 2, 'n3': 4, 'n4': inf }, 'n2': { 'n1': 2, 'n2': 0, 'n3': 1, 'n4': 5 }, 'n3': { 'n1': 4, 'n2': 1, 'n3': 0, 'n4': 3 }, 'n4': { 'n1': inf, 'n2': 5, 'n3': 3, 'n4': 0 } } adj_matrix_of_graph_with_shortest_path = { 'n1': { 'n1': 0, 'n2': 2, 'n3': 3, 'n4': 6 }, 'n2': { 'n1': 2, 'n2': 0, 'n3': 1, 'n4': 4 }, 'n3': { 'n1': 3, 'n2': 1, 'n3': 0, 'n4': 3 }, 'n4': { 'n1': 6, 'n2': 4, 'n3': 3, 'n4': 0 } } t = graph_obj.floyd_warshall(graph) assert t[0] == adj_matrix_of_graph assert t[1] == adj_matrix_of_graph_with_shortest_path