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));
        }