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);
        }