public void GetStatusFrom_Player2Wins_ReturnsPlayer2() { // arrange var checker = new GameChecker(); var board = new CrossesBoard(); board.SetToken(GameToken.Player2, new BoardPosition(0, 0)); board.SetToken(GameToken.Player2, new BoardPosition(0, 1)); board.SetToken(GameToken.Player2, new BoardPosition(0, 2)); // act var status = checker.GetStatusFrom(board); // assert Assert.That(status, Is.EqualTo(GameStatus.Player2Wins)); }
public void GetStatusFrom_PartiallyFilledBoard_ReturnsOngoing() { // arrange var checker = new GameChecker(); var board = new CrossesBoard(); board.SetToken(GameToken.Player1, new BoardPosition(0, 0)); board.SetToken(GameToken.Player2, new BoardPosition(1, 2)); board.SetToken(GameToken.Player1, new BoardPosition(2, 1)); // act var status = checker.GetStatusFrom(board); // assert Assert.That(status, Is.EqualTo(GameStatus.Ongoing)); }
public void GetStatusFrom_PlayerWinsRow_ReturnsPlayer(int row) { // arrange var checker = new GameChecker(); var board = new CrossesBoard(); board.SetToken(GameToken.Player1, new BoardPosition(0, row)); board.SetToken(GameToken.Player1, new BoardPosition(1, row)); board.SetToken(GameToken.Player1, new BoardPosition(2, row)); // act var status = checker.GetStatusFrom(board); // assert Assert.That(status, Is.EqualTo(GameStatus.Player1Wins)); }
public void GetStatusFrom_PlayerWinsDiagonal_ReturnsPlayer(int column1, int row1, int column2, int row2, int column3, int row3) { // arrange var checker = new GameChecker(); var board = new CrossesBoard(); board.SetToken(GameToken.Player1, new BoardPosition(column1, row1)); board.SetToken(GameToken.Player1, new BoardPosition(column2, row2)); board.SetToken(GameToken.Player1, new BoardPosition(column3, row3)); // act var status = checker.GetStatusFrom(board); // assert Assert.That(status, Is.EqualTo(GameStatus.Player1Wins)); }
public void GetStatusFrom_FilledBoardNoWinner_ReturnsDraw() { // arrange var checker = new GameChecker(); var board = new CrossesBoard(); board.SetToken(GameToken.Player1, new BoardPosition(0, 0)); board.SetToken(GameToken.Player1, new BoardPosition(0, 1)); board.SetToken(GameToken.Player1, new BoardPosition(1, 2)); board.SetToken(GameToken.Player1, new BoardPosition(2, 0)); board.SetToken(GameToken.Player1, new BoardPosition(2, 1)); board.SetToken(GameToken.Player2, new BoardPosition(0, 2)); board.SetToken(GameToken.Player2, new BoardPosition(1, 0)); board.SetToken(GameToken.Player2, new BoardPosition(1, 1)); board.SetToken(GameToken.Player2, new BoardPosition(2, 2)); // act var status = checker.GetStatusFrom(board); // assert Assert.That(status, Is.EqualTo(GameStatus.Draw)); }