public void GameRunner_RunGame_RunsToCompletion(bool playAgain) { IConsoleInputRetriever inputRetriever = new TestConsoleInputRetriever("test", playAgain); IPlayer playerOne = new EasyComputerPlayer(); IPlayer playerTwo = new EasyComputerPlayer(); GameRunner gameRunner = new GameRunner(inputRetriever, playerOne, playerTwo); var actual = gameRunner.RunGame(); Assert.Equal(playAgain, actual); }
public void GameRunner_HandlePlayerTurn_NoWinDetected_ReturnsFalse() { IConsoleInputRetriever inputRetriever = new TestConsoleInputRetriever("5", true); IPlayer playerOne = new HumanPlayer(inputRetriever); IPlayer playerTwo = new EasyComputerPlayer(); var board = new Board(); GameRunner gameRunner = new GameRunner(inputRetriever, playerOne, playerTwo); var actual = gameRunner.HandlePlayerTurn(board.Squares, playerOne); Assert.False(actual); }
public void GameRunner_HandlePlayerTurn_WinDetected_ReturnsTrue(int firstColumn, int firstRow, int secondColumn, int secondRow) { IConsoleInputRetriever inputRetriever = new TestConsoleInputRetriever("5", true); IPlayer playerOne = new HumanPlayer(inputRetriever); IPlayer playerTwo = new EasyComputerPlayer(); var board = new Board(); board.Squares[firstColumn, firstRow].State = SquareState.X; board.Squares[secondColumn, secondRow].State = SquareState.X; GameRunner gameRunner = new GameRunner(inputRetriever, playerOne, playerTwo); var actual = gameRunner.HandlePlayerTurn(board.Squares, playerOne); Assert.True(actual); }
public void EasyComputerPlayer_PlayerInput_ReturnsBoard_OneDisplayCharacterMatchesComputerPlayerSymbol() { var board = new Board(); var player = new EasyComputerPlayer(); var actual = player.PlayerInput(board.Squares); var actualSquareSymbols = new List <string>(); foreach (var square in actual) { actualSquareSymbols.Add(square.DisplayCharacter); } Assert.Equal(9, actualSquareSymbols.Count); Assert.Contains("O", actualSquareSymbols); Assert.Single(actualSquareSymbols.Where(x => x.Equals("O"))); }
public void EasyComputerPlayer_PlayerInput_ReturnsBoard_OneSquareStateMatchesComputerPlayerState() { var board = new Board(); var player = new EasyComputerPlayer(); var actual = player.PlayerInput(board.Squares); var actualSquareStates = new List <SquareState>(); foreach (var square in actual) { actualSquareStates.Add(square.State); } Assert.Equal(9, actualSquareStates.Count); Assert.Contains(SquareState.O, actualSquareStates); Assert.Single(actualSquareStates.Where(x => x.Equals(SquareState.O))); }