public void ProcessMap_DoubleMap_MapIsDoubled() { var map = GenerateMap(); var doubler = new MapDoubler<Cell,BinaryCell>(); var newMap = doubler.ConvertMap(map, mConfiguration, mRandomizer); Assert.AreEqual(SOME_EVEN_HEIGHT * 2 + 1, newMap.Height); Assert.AreEqual(SOME_EVEN_WIDTH * 2 + 1, newMap.Width); }
public void ProcessMap_DoubleMap_MapIsDoubled() { var map = GenerateMap(); var doubler = new MapDoubler <Cell, BinaryCell>(); var newMap = doubler.ConvertMap(map, mConfiguration, mRandomizer); Assert.AreEqual(SOME_EVEN_HEIGHT * 2 + 1, newMap.Height); Assert.AreEqual(SOME_EVEN_WIDTH * 2 + 1, newMap.Width); }
public void ProcessMap_DoubleMap_TerrainAndSidesSetProperly() { var map = GenerateMap(); var oldCells = map.AllCells.ToList(); var doubler = new MapDoubler<Cell, BinaryCell>(); var newMap = doubler.ConvertMap(map, mConfiguration, mRandomizer); foreach (var oldCell in oldCells.Where(cell => cell.IsOpen)) { //assert the cell in the new location var newCell = newMap.GetCell(oldCell.Row * 2 + 1, oldCell.Column * 2 + 1); Assert.AreEqual(TerrainType.Floor, newCell.Terrain); //Where the side is open there should be floor, where the side is closed there should be rock foreach (var kvp in oldCell.Sides) { Assert.AreEqual(kvp.Value ? TerrainType.Floor : TerrainType.Rock, newMap.GetAdjacentCell(newCell, kvp.Key).Terrain); } } }
public void ProcessMap_DoubleMap_TerrainAndSidesSetProperly() { var map = GenerateMap(); var oldCells = map.AllCells.ToList(); var doubler = new MapDoubler <Cell, BinaryCell>(); var newMap = doubler.ConvertMap(map, mConfiguration, mRandomizer); foreach (var oldCell in oldCells.Where(cell => cell.IsOpen)) { //assert the cell in the new location var newCell = newMap.GetCell(oldCell.Row * 2 + 1, oldCell.Column * 2 + 1); Assert.AreEqual(TerrainType.Floor, newCell.Terrain); //Where the side is open there should be floor, where the side is closed there should be rock foreach (var kvp in oldCell.Sides) { Assert.AreEqual(kvp.Value ? TerrainType.Floor : TerrainType.Rock, newMap.GetAdjacentCell(newCell, kvp.Key).Terrain); } } }