コード例 #1
0
        public void NotFindAnyPath_FindShortestPath_NodePath()
        {
            var algorithm = new Algorithm.Logic.ShortestPath.ShortestPath();

            var nodes = getNodes();
            var queue = new Queue <Node <string> >();
            var stack = new Stack <Node <string> >();

            queue.Enqueue(nodes);

            var invalidPath = algorithm.FindShortestPath(queue, "Invalid", stack);

            Assert.IsNull(invalidPath);
        }
コード例 #2
0
        public void FindsTheShortestPathShortestOne_FindShortestPath_NodePath()
        {
            var algorithm = new Algorithm.Logic.ShortestPath.ShortestPath();

            var nodes = getInterconnectedNodes();
            var queue = new Queue <Node <string> >();
            var stack = new Stack <Node <string> >();

            queue.Enqueue(nodes);

            var path = algorithm.FindShortestPath(queue, "End", stack);

            Assert.IsNotNull(path);
            Assert.IsTrue(path.Parent.NodeContent == "6" && path.Parent.Parent.NodeContent == "1" && path.Parent.Parent.Parent.NodeContent == "Start");
        }