public void ShortestsPathsTest0() { var graf = new Graf<char>(); var v1Vertex = new Vertex<char>('1'); var v2Vertex = new Vertex<char>('2'); var v3Vertex = new Vertex<char>('3'); var v4Vertex = new Vertex<char>('4'); var v5Vertex = new Vertex<char>('5'); v1Vertex.AddDirectedEdge(3, v2Vertex); v1Vertex.AddDirectedEdge(-4, v5Vertex); v2Vertex.AddDirectedEdge(1, v4Vertex); v2Vertex.AddDirectedEdge(7, v5Vertex); v3Vertex.AddDirectedEdge(4, v2Vertex); v4Vertex.AddDirectedEdge(2, v1Vertex); v4Vertex.AddDirectedEdge(-5, v3Vertex); v5Vertex.AddDirectedEdge(6, v4Vertex); graf.AddVertex(v1Vertex); graf.AddVertex(v2Vertex); graf.AddVertex(v3Vertex); graf.AddVertex(v4Vertex); graf.AddVertex(v5Vertex); var res = graf.GetAllPairsShortestsPaths(graf.GetWeights()); Assert.Equal(0, res[0, 0]); Assert.Equal(3, res[1, 0]); Assert.Equal(7, res[2, 0]); Assert.Equal(2, res[3, 0]); Assert.Equal(8, res[4, 0]); Assert.Equal(1, res[0, 1]); Assert.Equal(0, res[1, 1]); Assert.Equal(4, res[2, 1]); Assert.Equal(-1, res[3, 1]); Assert.Equal(5, res[4, 1]); Assert.Equal(-3, res[0, 2]); Assert.Equal(-4, res[1, 2]); Assert.Equal(0, res[2, 2]); Assert.Equal(-5, res[3, 2]); Assert.Equal(1, res[4, 2]); Assert.Equal(2, res[0, 3]); Assert.Equal(1, res[1, 3]); Assert.Equal(5, res[2, 3]); Assert.Equal(0, res[3, 3]); Assert.Equal(6, res[4, 3]); Assert.Equal(-4, res[0, 4]); Assert.Equal(-1, res[1, 4]); Assert.Equal(3, res[2, 4]); Assert.Equal(-2, res[3, 4]); Assert.Equal(0, res[4, 4]); }