public void GameManagerShouldBeAbleToReportOnWinsAndTies() { GameManager target = new GameManager(); target.MakeGame("human"); target.game.board.ForceMove(new Tuple<int, int>(0, 0), 'X'); target.game.board.ForceMove(new Tuple<int, int>(1, 0), 'X'); target.game.board.ForceMove(new Tuple<int, int>(2, 0), 'X'); target.ReportGameEnd(); target = new GameManager(); target.MakeGame("human"); target.game.board.ForceMove(new Tuple<int, int>(0, 0), 'O'); target.game.board.ForceMove(new Tuple<int, int>(1, 0), 'O'); target.game.board.ForceMove(new Tuple<int, int>(2, 0), 'O'); target.ReportGameEnd(); target = new GameManager(); target.MakeGame("human"); target.game.board.LogMove(new Tuple<int, int>(1, 1)); target.game.board.LogMove(new Tuple<int, int>(0, 0)); target.game.board.LogMove(new Tuple<int, int>(0, 1)); target.game.board.LogMove(new Tuple<int, int>(2, 1)); target.game.board.LogMove(new Tuple<int, int>(0, 2)); target.game.board.LogMove(new Tuple<int, int>(2, 0)); target.game.board.LogMove(new Tuple<int, int>(1, 0)); target.game.board.LogMove(new Tuple<int, int>(1, 2)); target.game.board.LogMove(new Tuple<int, int>(2, 2)); target.ReportGameEnd(); }
public void fauxInputTest() { GameManager testManager = new GameManager(new PresentationManager(new TestIO())); TestIO io = (TestIO)testManager.presenter.IO; io.desiredInString = "human"; testManager.MakeGame(testManager.presenter.WelcomeAndAskForGameParams()); Assert.AreEqual(testManager.game.xPlayer.GetType(), typeof(HumanPlayer)); Assert.AreEqual(testManager.game.oPlayer.GetType(), typeof(HumanPlayer)); testManager.game.board.ForceMove(new Tuple<int,int>(0,0), 'X'); testManager.game.board.ForceMove(new Tuple<int,int>(1,0), 'X'); testManager.game.board.ForceMove(new Tuple<int,int>(2,0), 'X'); testManager.ReportGameEnd(); StringAssert.Equals("X's Win!", io.lastOutString); }