public void Generate_WhenNewBoardIsGenerated_ShouldReturnValidNumberOfShips() { // Arrange var randomGridGenerator = new RandomGridGenerator(); // Act var grid = randomGridGenerator.Generate(true); // Assert var numberOfShips = 0; var numberOfEmptinesses = 0; for (int row = 0; row < 10; row++) { for (int column = 0; column < 10; column++) { if (grid[row, column] == CellStatus.Ship) { numberOfShips++; } else if (grid[row, column] == CellStatus.Empty) { numberOfEmptinesses++; } } } // 1x5 + 2x4 = 13 Assert.AreEqual(13, numberOfShips); Assert.AreEqual(87, numberOfEmptinesses); }
/// <summary> /// Creates a new game. /// </summary> /// <param name="power"></param> /// <returns></returns> public GameGrid NewRandomGridGame(int lineCount, int columnCount) { IGridGenerator gridGenerator = new RandomGridGenerator(); GameGrid gg = gridGenerator.Generate <GameGrid>(lineCount, columnCount); return(gg); }