Esempio n. 1
0
        public void DeadEndFinalRoomsCanBeFound()
        {
            MapHeuristics mapH         = BuildMapHeuristics();
            var           deadEndNodes = mapH.GetTerminalBranchNodes()[0].ToList();

            CollectionAssert.AreEquivalent(new List <int>(new int[] { 1, 4, 6, 12, 14, 15 }), deadEndNodes);
        }
Esempio n. 2
0
        public void RoomsOfMultipleDepthFromDeadEndFinalRoomsCanBeFound()
        {
            var standardMap = BuildBranchingTestMap();
            var mapNoCycles = new MapCycleReducer(standardMap.RoomConnectionGraph.Edges);
            var mapH        = new MapHeuristics(mapNoCycles, 1);

            var expectedNodes = new Dictionary <int, List <int> > {
                { 0, new List <int>(new int[] { 1, 6, 14, 15, 17, 18 }) },
                { 1, new List <int>(new int[] { 5, 12, 16 }) },
                { 2, new List <int>(new int[] { 4 }) }
            };

            var terminalNodesFound = mapH.GetTerminalBranchNodes();

            CollectionAssert.AreEquivalent(expectedNodes[0], terminalNodesFound[0]);
            CollectionAssert.AreEquivalent(expectedNodes[1], terminalNodesFound[1]);
            CollectionAssert.AreEquivalent(expectedNodes[2], terminalNodesFound[2]);
            CollectionAssert.AreEquivalent(expectedNodes.Keys, terminalNodesFound.Keys);
        }