Exemplo n.º 1
0
        public void EnforceXToBePlayedThird()
        {
            var board = new TicTakToeBoard();
            board.PlaceToken(Token.X, BoardPosition.BottomRight);
            board.PlaceToken(Token.O, BoardPosition.MiddleLeft);
            var moveResult = board.PlaceToken(Token.O, BoardPosition.TopCentre);

            Assert.AreEqual(MoveResult.InvalidMove, moveResult);
        }
Exemplo n.º 2
0
        public void EnforceOToBePlayedSecond()
        {
            var board = new TicTakToeBoard();
            board.PlaceToken(Token.X, BoardPosition.TopRight);

            var moveResult = board.PlaceToken(Token.O, BoardPosition.TopCentre);

            Assert.AreEqual(MoveResult.InProgress, moveResult);
        }
Exemplo n.º 3
0
        public void NotAllowPlaysOnTheSamePositionPlayedLast()
        {
            var board = new TicTakToeBoard();

            board.PlaceToken(Token.X, BoardPosition.BottomCentre);

            var moveResult = board.PlaceToken(Token.O, BoardPosition.BottomCentre);

            Assert.AreEqual(MoveResult.InvalidMove, moveResult);
        }
Exemplo n.º 4
0
        public void NotAllowPlaysOnAPositionPlayed2StepsAgo()
        {
            var board = new TicTakToeBoard();
            board.PlaceToken(Token.X, BoardPosition.TopRight);
            board.PlaceToken(Token.O, BoardPosition.TopCentre);

            var moveResult = board.PlaceToken(Token.X, BoardPosition.TopRight);

            Assert.AreEqual(MoveResult.InvalidMove, moveResult);
        }
Exemplo n.º 5
0
        public void ReportADrawWhenYouHavePlayedTheLastPositionAndNotWon()
        {
            var board = new TicTakToeBoard();
            board.PlaceToken(Token.X, BoardPosition.BottomLeft);
            board.PlaceToken(Token.O, BoardPosition.MiddleLeft);
            board.PlaceToken(Token.X, BoardPosition.TopLeft);
            board.PlaceToken(Token.O, BoardPosition.TopCentre);
            board.PlaceToken(Token.X, BoardPosition.MiddleCenter);
            board.PlaceToken(Token.O, BoardPosition.BottomCentre);
            board.PlaceToken(Token.X, BoardPosition.MiddleRight);
            board.PlaceToken(Token.O, BoardPosition.TopRight);
            var result = board.PlaceToken(Token.X, BoardPosition.BottomRight);

            Assert.AreEqual(MoveResult.NoWinnerYouDrawers, result);
        }
Exemplo n.º 6
0
 public void NotAllowOToBePlayedFirst()
 {
     var moveResult = new TicTakToeBoard().PlaceToken(Token.O, BoardPosition.BottomCentre);
     Assert.AreEqual(MoveResult.InvalidMove, moveResult);
 }
Exemplo n.º 7
0
        public void EnforceXToBePlayedFirst()
        {
            var moveResult = new TicTakToeBoard().PlaceToken(Token.X, BoardPosition.BottomCentre);

            Assert.AreEqual(MoveResult.InProgress, moveResult);
        }
Exemplo n.º 8
0
        public void ReportAWinningMoveWhen3XInTopRow()
        {
            var board = new TicTakToeBoard();
            board.PlaceToken(Token.X, BoardPosition.TopLeft);
            board.PlaceToken(Token.O, BoardPosition.BottomLeft);
            board.PlaceToken(Token.X, BoardPosition.TopCentre);
            board.PlaceToken(Token.O, BoardPosition.BottomCentre);
            var result = board.PlaceToken(Token.X, BoardPosition.TopRight);

            Assert.AreEqual(MoveResult.YouAreAWinner, result);
        }
Exemplo n.º 9
0
        public void ReportAWinningMoveWhen3XInForwardslashDiagonal()
        {
            var board = new TicTakToeBoard();
            board.PlaceToken(Token.X, BoardPosition.BottomLeft);
            board.PlaceToken(Token.O, BoardPosition.MiddleLeft);
            board.PlaceToken(Token.X, BoardPosition.MiddleCenter);
            board.PlaceToken(Token.O, BoardPosition.TopCentre);
            var result = board.PlaceToken(Token.X, BoardPosition.TopRight);

            Assert.AreEqual(MoveResult.YouAreAWinner, result);
        }