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); }
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); }
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); }
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); }
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); }
public void NotAllowOToBePlayedFirst() { var moveResult = new TicTakToeBoard().PlaceToken(Token.O, BoardPosition.BottomCentre); Assert.AreEqual(MoveResult.InvalidMove, moveResult); }
public void EnforceXToBePlayedFirst() { var moveResult = new TicTakToeBoard().PlaceToken(Token.X, BoardPosition.BottomCentre); Assert.AreEqual(MoveResult.InProgress, moveResult); }
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); }
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); }