public void IsLosingConditionShould_ReturnFalse_WhenNoMineOnBoardIsRevealed() { var board = Board.CreateEmptyBoard(2); var mineGenerator = new MockMinesGenerator(); mineGenerator.PlaceMines(2, board); var result = WinLoseChecker.IsLosingConditionWhenOneMineIsRevealed(board); Assert.False(result); }
public void ToStringShould_ReturnExpectedString_WhenThereIs1RevealedTopLeftMineInASize2Board() { var mineGenerator = new MockMinesGenerator(); const string expectedString = "* 1 \n" + "1 1 \n"; var board = Board.CreateEmptyBoard(2); mineGenerator.PlaceMines(1, board); HintGenerator.SetHints(board); board.RevealAllSquares(); Assert.Equal(expectedString, board.ToString()); }
public void PlaceMinesShould_SetSquaresOnTheTopRowToMines_WhenThereAre2MinesOnASize2Board() { var board = Board.CreateEmptyBoard(2); var minesGenerator = new MockMinesGenerator(); minesGenerator.PlaceMines(2, board); board.RevealAllSquares(); const string expectedResult = "* * \n" + "0 0 \n"; Assert.Equal(expectedResult, board.ToString()); }
public void IsLosingConditionShould_ReturnTrue_WhenOneMineOnBoardAreRevealed() { var board = Board.CreateEmptyBoard(2); var mineGenerator = new MockMinesGenerator(); mineGenerator.PlaceMines(2, board); var topLeft = new Location(0, 0); var mineOne = board.GetSquare(topLeft); mineOne.Reveal(); var result = WinLoseChecker.IsLosingConditionWhenOneMineIsRevealed(board); Assert.True(result); }
public void IsWinningConditionShould_ReturnFalse_WhenOneHintsOnBoardIsRevealed() { var board = Board.CreateEmptyBoard(2); var mineGenerator = new MockMinesGenerator(); mineGenerator.PlaceMines(2, board); var bottomLeft = new Location(1, 0); var hintOne = board.GetSquare(bottomLeft); hintOne.Reveal(); var result = WinLoseChecker.IsWinningConditionWhenAllHintsAreRevealed(board); Assert.False(result); }
public void SetUpShould_CreateA4by4HiddenBoard_WhenInputDifficultyLevelIs4() { const string difficultyLevelInput = "4"; var input = new MockInput(new[] { difficultyLevelInput }); var output = new MockOutput(); var minesGenerator = new MockMinesGenerator(); var game = new Game(input, output, minesGenerator); game.CreateBoard(); var result = game.Board.ToString(); const string expectedResult = ". . . . \n" + ". . . . \n" + ". . . . \n" + ". . . . \n"; Assert.Equal(expectedResult, result); }
public void GameShould_RevealEntireBoardAndWinTheGame_WhenInputLocationMatchesAllHintLocations() { const string difficultyLevelInput = "2"; var input = new MockInput(new[] { difficultyLevelInput, "1,0", "1,1" }); var output = new MockOutput(); var minesGenerator = new MockMinesGenerator(); var game = new Game(input, output, minesGenerator); game.CreateBoard(); game.Play(); var result = game.Board.ToString(); const string expectedResult = "* * \n" + "2 2 \n"; Assert.Equal(expectedResult, result); Assert.Equal(GameState.Win, game.State); }