public void TakeTurn_GivenGameStateInProgress_ReturnsGameStateInProgress() { _consoleWrapper.Setup(x => x.ReadLine()).Returns(It.IsAny <string>()); _inputService.Setup(x => x.HandleInput(It.IsAny <string>(), It.IsAny <char>())).Returns(true); _resultService.Setup(x => x.CurrentState()).Returns(GameState.InProgress); var sut = _turnService.TakeTurn('X'); Assert.That(sut, Is.EqualTo(GameState.InProgress)); }
public bool Play() { var gameState = GameState.InProgress; SetUpNewGame(); while (gameState == GameState.InProgress) { gameState = _turnService.TakeTurn(_currentPlayer); if (gameState == GameState.InProgress) { SwapPlayer(); } } if (gameState == GameState.Win) { Console.WriteLine("Congratulations! Player {0} wins!", _currentPlayer); } if (gameState == GameState.Draw) { Console.WriteLine("Draw! Better luck next time!"); } return(true); }