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);
        }
Exemple #3
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }