public void BoardManagerShouldKnowIfThereIsATie() { BoardChecker target = new BoardChecker(); BoardManager board = new BoardManager(); HumanPlayer playerOne = new HumanPlayer('X'); ComputerPlayer playerTwo = new ComputerPlayer('O'); board.LogMove(playerOne.MakeMove(1, 1)); board.LogMove(playerTwo.MakeMove(0, 0)); board.LogMove(playerOne.MakeMove(0, 1)); board.LogMove(playerTwo.MakeMove(2, 1)); board.LogMove(playerOne.MakeMove(0, 2)); board.LogMove(playerTwo.MakeMove(2, 0)); board.LogMove(playerOne.MakeMove(1, 0)); board.LogMove(playerTwo.MakeMove(1, 2)); board.LogMove(playerOne.MakeMove(2, 2)); Assert.AreEqual(true, target.CheckForTie(board.boardArray)); }
public void MakeMoveShouldGetRandomMoveOfMovesAvailable() { BoardManager board = new BoardManager(); ComputerPlayer playerTwo = new ComputerPlayer('O'); board.LogMove(new Tuple<int,int>(1,1)); Tuple<int,int> playerChoice = playerTwo.MakeMove(board.boardArray); CreatedMove actual = new CreatedMove(playerChoice.Item1, playerChoice.Item2,playerTwo.identity); CreatedMove notExpected = new CreatedMove(1, 1, 'O'); Assert.IsTrue(actual.xAxis >= 0 && actual.xAxis <= 2); Assert.IsTrue(actual.yAxis >= 0 && actual.yAxis <= 2); Assert.AreNotEqual(notExpected, actual); }