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