Example #1
0
        public void CheckTurnResult_returns_a_winner_when_no_moves_left_but_there_is_a_winner()
        {
            //Arrange
            var board          = new TestBoard();
            var token1         = TickTackToeBoard.TickTackToeToken.O;
            var expectedWinner = TickTackToeGame.TickTackToeGameResult.OWins;
            var token2         = TickTackToeBoard.TickTackToeToken.X;

            //winner
            board.PlaceTokenOnBoard(token1, 0, 0);
            board.PlaceTokenOnBoard(token1, 0, 1);
            board.PlaceTokenOnBoard(token1, 0, 2);

            //no winner
            board.PlaceTokenOnBoard(token2, 1, 0);
            board.PlaceTokenOnBoard(token1, 1, 1);
            board.PlaceTokenOnBoard(token2, 1, 2);

            //no winner
            board.PlaceTokenOnBoard(token1, 2, 0);
            board.PlaceTokenOnBoard(token1, 2, 1);
            board.PlaceTokenOnBoard(token2, 2, 2);
            var game = new TestGame(board);

            //Act
            var result = game.CheckTurnResult(token1);

            //Assert
            Assert.IsTrue(result == expectedWinner);
        }
Example #2
0
        public void CheckTurnResult_returns_cats_game_when_no_moves_left_and_no_winner()
        {
            //Arrange
            var board  = new TestBoard();
            var token1 = TickTackToeBoard.TickTackToeToken.O;
            var token2 = TickTackToeBoard.TickTackToeToken.X;

            //no winner
            board.PlaceTokenOnBoard(token1, 0, 0);
            board.PlaceTokenOnBoard(token2, 0, 1);
            board.PlaceTokenOnBoard(token2, 0, 2);

            //no winner
            board.PlaceTokenOnBoard(token2, 1, 0);
            board.PlaceTokenOnBoard(token1, 1, 1);
            board.PlaceTokenOnBoard(token2, 1, 2);

            //no winner
            board.PlaceTokenOnBoard(token1, 2, 0);
            board.PlaceTokenOnBoard(token1, 2, 1);
            board.PlaceTokenOnBoard(token2, 2, 2);
            var game = new TestGame(board);

            //Act
            var result = game.CheckTurnResult(token1);

            //Assert
            Assert.IsTrue(result == TickTackToeGame.TickTackToeGameResult.CatsGame);
        }
Example #3
0
        public void HasGameBeenWon_returns_false_when_game_still_in_progress()
        {
            //Arrange
            var board = new TestBoard();
            var token = TickTackToeBoard.TickTackToeToken.O;

            board.PlaceTokenOnBoard(token, 0, 0);
            board.PlaceTokenOnBoard(token, 0, 1);
            var game = new TestGame(board);

            //Act
            var result = game.HasGameBeenWon(token);

            //Assert
            Assert.IsFalse(result);
        }
Example #4
0
        public void HasGameBeenWon_returns_true_when_game_won_by_column()
        {
            //Arrange
            var board = new TestBoard();
            var token = TickTackToeBoard.TickTackToeToken.O;

            board.PlaceTokenOnBoard(token, 0, 0);
            board.PlaceTokenOnBoard(token, 1, 0);
            board.PlaceTokenOnBoard(token, 2, 0);
            var game = new TestGame(board);

            //Act
            var result = game.HasGameBeenWon(token);

            //Assert
            Assert.IsTrue(result);
        }
Example #5
0
        public void CheckTurnResult_returns_InProgress_when_no_winner_and_moves_remain()
        {
            //Arrange
            var board = new TestBoard();
            var token = TickTackToeBoard.TickTackToeToken.O;

            board.PlaceTokenOnBoard(token, 0, 0);
            board.PlaceTokenOnBoard(token, 0, 2);

            var game = new TestGame(board);

            //Act
            var result = game.CheckTurnResult(token);

            //Assert
            Assert.IsTrue(result == TickTackToeGame.TickTackToeGameResult.InProgress);
        }
Example #6
0
        public void HasGameBeenWon_returns_true_when_game_won_by_bottom_left_top_right_diaganol()
        {
            //Arrange
            var board = new TestBoard();
            var token = TickTackToeBoard.TickTackToeToken.O;

            board.PlaceTokenOnBoard(token, 0, 2);
            board.PlaceTokenOnBoard(token, 1, 1);
            board.PlaceTokenOnBoard(token, 2, 0);
            var game = new TestGame(board);

            //Act
            var result = game.HasGameBeenWon(token);

            //Assert
            Assert.IsTrue(result);
        }
Example #7
0
        public void CheckTurnResult_returns_O_winner_when_o_has_won()
        {
            //Arrange
            var board = new TestBoard();
            var token = TickTackToeBoard.TickTackToeToken.O;

            board.PlaceTokenOnBoard(token, 0, 0);
            board.PlaceTokenOnBoard(token, 0, 1);
            board.PlaceTokenOnBoard(token, 0, 2);

            var game = new TestGame(board);

            //Act
            var result = game.CheckTurnResult(token);

            //Assert
            Assert.IsTrue(result == TickTackToeGame.TickTackToeGameResult.OWins);
        }