public void ActionTaken_IncreasesIdleWorkerCount() { var game = new Game(NumberOfPlayers.Two); // take game through Placement phase while (game.Players.Any(p => p.IdleWorkers > 0)) { game.PlaceWorkers(); } int startsWith = game.CurrentTurnPlayer.IdleWorkers; game.ResolveAction(); game.CurrentTurnPlayer.IdleWorkers.Should().BeGreaterThan(startsWith); }
public void AllActionsTaken_GameMovesToFeedPhase() { var game = new Game(NumberOfPlayers.Two); // take game through Placement phase while (game.Players.Any(p => p.IdleWorkers > 0)) { game.PlaceWorkers(); } while (game.Players.Any(p => p.AreAnyWorkersPlaced)) { game.ResolveAction(); } game.CurrentTurnPlayer.Should().Be(game.StartPlayer); game.CurrentPhase.Should().Be(Phase.Feed); }
public void PlayerTakesAllActions_NextPlayersTurn() { var game = new Game(NumberOfPlayers.Two); // take game through Placement phase while (game.Players.Any(p => p.IdleWorkers > 0)) { game.PlaceWorkers(); } var initialPlayer = game.CurrentTurnPlayer; while (initialPlayer.AreAnyWorkersPlaced) { game.ResolveAction(); } game.CurrentTurnPlayer.Should().NotBe(initialPlayer); }