public void DistanceTo_WhenPathExistsBetween0And4_WillBeSumOfWeightsInPath() { EdgeWeightedDigraph digraph = new EdgeWeightedDigraph(5); digraph.AddEdge(new DirectedEdge(0, 1, 2.5)); digraph.AddEdge(new DirectedEdge(1, 2, 3.25)); digraph.AddEdge(new DirectedEdge(2, 3, 1.25)); digraph.AddEdge(new DirectedEdge(3, 4, 2)); DijkstraShortestPath dijkstra = new DijkstraShortestPath(digraph, 0); Assert.AreEqual(9, dijkstra.DistanceTo(4)); }
public void DistanceTo_WhenNoPathExists_WillBePositiveInfinity() { EdgeWeightedDigraph digraph = new EdgeWeightedDigraph(5); digraph.AddEdge(new DirectedEdge(0, 1, 2.5)); digraph.AddEdge(new DirectedEdge(1, 2, 3.25)); digraph.AddEdge(new DirectedEdge(1, 4, 4.75)); digraph.AddEdge(new DirectedEdge(2, 3, 1.25)); digraph.AddEdge(new DirectedEdge(3, 4, 2)); DijkstraShortestPath dijkstra = new DijkstraShortestPath(digraph, 4); Assert.AreEqual(double.PositiveInfinity, dijkstra.DistanceTo(0)); }