public void ConstructorShallSetGuid() { var guid = Guid.NewGuid(); var building = new SingleTileBuilding(guid, Angle.Zero); Assert.AreEqual(guid, building.Guid); }
public void GetTilesOfBuilding_ShallBetProperTiles() { var map = new Map(Height, Width); var building = new SingleTileBuilding(Guid.NewGuid(), Angle.Zero); var tilesOfBuilding = new List <ITile> { map[0, 0] }; map.AddBuilding(building, tilesOfBuilding); Assert.AreEqual(tilesOfBuilding, map.GetTilesOfBuilding(building)); }
public void TryingToPlaceBuilding_AtTilesOccupiedByAnotherBuilding_ShallThrowException() { var map = new Map(Height, Width); var building = new SingleTileBuilding(Guid.NewGuid(), Angle.Zero); var tilesOfBuilding = new List <ITile> { map[0, 0] }; map.AddBuilding(building, tilesOfBuilding); Assert.Throws <ArgumentException>(() => map.AddBuilding(building, tilesOfBuilding)); }
public void GetBuildings_ShallGetAllBuildings() { var map = new Map(Height, Width); var building1 = new SingleTileBuilding(Guid.NewGuid(), Angle.Zero); var tilesOfBuilding1 = new List <ITile> { map[0, 0] }; var building2 = new LongOrthogonalBuilding(Guid.NewGuid(), Angle.Zero); var tilesOfBuilding2 = new List <ITile> { map[1, 1] }; map.AddBuilding(building2, tilesOfBuilding1); map.AddBuilding(building1, tilesOfBuilding2); var buildings = map.GetBuildings().ToList(); Assert.AreEqual(2, buildings.Count()); Assert.True(buildings.Contains(building1)); Assert.True(buildings.Contains(building2)); }