public void DetermineWinner() { if (GamesFinished) { Winner = WinnerCalculator.DetermineWinner(FirstGame, SecondGame); if (Winner == null) { IsDraw = true; } } }
public void GivenReverseDiagonalWin_ReturnWinnerTrue() { var currentBoard = new Piece[, ] { { Piece.X, Piece.O, Piece.X }, { Piece.O, Piece.X, Piece.O }, { Piece.X, Piece.Empty, Piece.O } }; var player = new Player() { Symbol = Piece.X, Row = 0, Column = 2 }; WinnerCalculator winnerCalculator = new WinnerCalculator(player, currentBoard); Assert.True(winnerCalculator.IsWinner); }
public void GivenFullBoard_ReturnWinnerIsEqualToFalse() { var currentBoard = new Piece[, ] { { Piece.X, Piece.X, Piece.O }, { Piece.O, Piece.O, Piece.X }, { Piece.X, Piece.O, Piece.X } }; var player = new Player() { Symbol = Piece.X }; WinnerCalculator winnerCalculator = new WinnerCalculator(player, currentBoard); Assert.AreEqual(false, winnerCalculator.IsWinner); }
public void GivenSingleMove_ReturnWinnerIsEqualToFalse() { var currentBoard = new Piece[, ] { { Piece.X, Piece.Empty, Piece.Empty }, { Piece.Empty, Piece.Empty, Piece.Empty }, { Piece.Empty, Piece.Empty, Piece.Empty } }; var player = new Player() { Symbol = Piece.X, Row = 0, Column = 0 }; WinnerCalculator winnerCalculator = new WinnerCalculator(player, currentBoard); Assert.AreEqual(false, winnerCalculator.IsWinner); }