Beispiel #1
0
        public void SingleSourceTest3()
        {
            var graf = new Graf<char>();

            var sVertex = new Vertex<char>('s');
            var tVertex = new Vertex<char>('t');
            var xVertex = new Vertex<char>('x');
            var yVertex = new Vertex<char>('y');

            var zVertex = new Vertex<char>('z');

            sVertex.AddDirectedEdge(10, tVertex);
            sVertex.AddDirectedEdge(5, yVertex);
            tVertex.AddDirectedEdge(1, xVertex);

            tVertex.AddDirectedEdge(2, yVertex);
            xVertex.AddDirectedEdge(4, zVertex);
            zVertex.AddDirectedEdge(6, xVertex);

            zVertex.AddDirectedEdge(7, sVertex);
            yVertex.AddDirectedEdge(3, tVertex);

            yVertex.AddDirectedEdge(9, xVertex);
            yVertex.AddDirectedEdge(2, zVertex);

            graf.AddVertex(sVertex);
            graf.AddVertex(tVertex);
            graf.AddVertex(xVertex);
            graf.AddVertex(yVertex);
            graf.AddVertex(zVertex);

            graf.DejkstraShortestPaths(sVertex);

            Assert.Equal(0, sVertex.DiscoveryTime);
            Assert.Equal(8, tVertex.DiscoveryTime);
            Assert.Equal(9, xVertex.DiscoveryTime);
            Assert.Equal(5, yVertex.DiscoveryTime);
            Assert.Equal(7, zVertex.DiscoveryTime);
        }