Esempio n. 1
0
        public void CanDrawPlayer2()
        {
            //Arrange
            var board      = new Board(3);
            var testInputO = new PlayerInput((1, 1), (1, 3), (3, 2), (2, 3), (3, 1));
            var playerO    = new Human(testInputO, Symbol.Naught, "player o");
            var computer   = new ComputerNeverLose(Symbol.Cross, "computer", new BestMoveDecider(board));
            var ticTacToe  = new TicTacToe(board, playerO, computer, new NullInputOutput());

            //Act
            ticTacToe.PlayGame();
            //Assert
            Assert.Equal(GameStatus.Drew, ticTacToe.GameStatus);
            //Arrange
            // var board = new Board(3);
            //board.PlaceSymbolToCoordinates(Symbol.Naught, new Move(1,1));
            //board.PlaceSymbolToCoordinates(Symbol.Cross, new Move(2,2));
            // board.PlaceSymbolToCoordinates(Symbol.Naught, new Move(1,3));
            // board.PlaceSymbolToCoordinates(Symbol.Cross, new Move(1,2));
            // board.PlaceSymbolToCoordinates(Symbol.Naught, new Move(3,2));

            //Act
            // var bestMove = new BestMoveDecider(board).NextMove();

            //Assert
            // Assert.Equal(1, bestMove.XCoordinate);
            // Assert.Equal(1, bestMove.YCoordinate);
        }
Esempio n. 2
0
        public void MakeFirstMoveAsPlayer1()
        {
            //arrange
            var board           = new Board(3);
            var bestMoveDecider = new BestMoveDecider(board);
            var computer        = new ComputerNeverLose(Symbol.Cross, "computer", bestMoveDecider);

            //Act
            var move = computer.PlayTurn();

            //Assert
            Assert.Equal(2, move.XCoordinate);
            Assert.Equal(2, move.YCoordinate);
        }