public void DifficultyLevelSelector_InputIs1_ReturnsEasyComputerPlayer() { TestConsoleInputRetriever inputRetriever = new TestConsoleInputRetriever("1"); var actual = DifficultyLevelSelector.SetComputerPlayerLevel(inputRetriever); Assert.IsType <EasyComputerPlayer>(actual); }
public void DifficultyLevelSelector_InputIs4_ReturnsImpossibleComputerPlayer() { TestConsoleInputRetriever inputRetriever = new TestConsoleInputRetriever("4"); var actual = DifficultyLevelSelector.SetComputerPlayerLevel(inputRetriever); Assert.IsType <ImpossibleComputerPlayer>(actual); }
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 HumanPlayer_InputValid_CorrectSquareUpdated(string userInput, int column, int row) { IConsoleInputRetriever inputRetriever = new TestConsoleInputRetriever(userInput); HumanPlayer humanPlayer = new HumanPlayer(inputRetriever); var board = new Board(); var actual = humanPlayer.PlayerInput(board.Squares); Assert.Equal("X", actual[column, row].DisplayCharacter); Assert.Equal(SquareState.X, actual[column, row].State); }
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); }