public static void SixBasicThreats()
        {
            var players = GetPlayers();

            var externalTracksByZone = new Dictionary <ZoneLocation, TrackConfiguration>
            {
                { ZoneLocation.Blue, TrackConfiguration.Track1 },
                { ZoneLocation.Red, TrackConfiguration.Track2 },
                { ZoneLocation.White, TrackConfiguration.Track3 },
            };
            const TrackConfiguration internalTrack = TrackConfiguration.Track4;

            var destroyer = new Destroyer();

            destroyer.SetInitialPlacement(4, ZoneLocation.Blue);
            var fighter1 = new Fighter();

            fighter1.SetInitialPlacement(5, ZoneLocation.Red);
            var fighter2 = new Fighter();

            fighter2.SetInitialPlacement(6, ZoneLocation.White);
            var externalThreats = new ExternalThreat[] { destroyer, fighter1, fighter2 };

            var skirmishers = new SkirmishersA();

            skirmishers.SetInitialPlacement(4);
            var fissure = new Fissure();

            fissure.SetInitialPlacement(2);
            var nuclearDevice = new NuclearDevice();

            nuclearDevice.SetInitialPlacement(6);
            var internalThreats = new InternalThreat[] { skirmishers, fissure, nuclearDevice };

            var bonusThreats = new Threat[0];

            var game = new Game(players, internalThreats, externalThreats, bonusThreats, externalTracksByZone, internalTrack, null);

            game.StartGame();
            for (var currentTurn = 0; currentTurn < game.NumberOfTurns + 1; currentTurn++)
            {
                game.PerformTurn();
            }

            Assert.AreEqual(GameStatus.Won, game.GameStatus);
            Assert.AreEqual(4, game.SittingDuck.BlueZone.TotalDamage);
            Assert.AreEqual(3, game.SittingDuck.RedZone.TotalDamage);
            Assert.AreEqual(3, game.SittingDuck.WhiteZone.TotalDamage);
            Assert.AreEqual(3, game.ThreatController.DefeatedThreats.Count());
            Assert.AreEqual(3, game.ThreatController.SurvivedThreats.Count());
            Assert.AreEqual(30, game.TotalPoints);
            Assert.AreEqual(3, game.SittingDuck.Zones.ElementAt(0).CurrentDamageTokens.Count);
            Assert.AreEqual(3, game.SittingDuck.Zones.ElementAt(1).CurrentDamageTokens.Count);
            Assert.AreEqual(4, game.SittingDuck.Zones.ElementAt(2).CurrentDamageTokens.Count);
        }