public void create_no_couples_when_all_males_are_dead()
        {
            for (int i = 0; i < 100; i++)
            {
                CivPopKerbal kerbal = builder.build(0);
                kerbal.SetVesselId(vessel.GetId());
                repo.Add(kerbal);
                if (kerbal.GetGender() == CivPopKerbalGender.MALE)
                {
                    repo.Kill(kerbal);
                }
            }
            IEnumerable <CivPopCouple> couples = service.makeCouples(0, vessel, repo);

            Assert.AreEqual(0, couples.Count());
        }
Esempio n. 2
0
 protected override void DoUpdate(double date, CivPopRepository repo)
 {
     foreach (CivPopKerbal kerbal in repo.GetRoster())
     {
         int age           = (int)((date - kerbal.GetBirthdate()) / TimeUnit.YEAR);
         int chanceOfDeath = GetChanceOfDeath(age);
         if (chanceOfDeath > 0)
         {
             if (rng.Next() % chanceOfDeath == 0)
             {
                 repo.Kill(kerbal);
             }
         }
     }
 }
        public void launch_a_mission_to_replace_a_dead_crew()
        {
            vessel.SetOrbiting(true);
            vessel.SetBody(KERBIN);
            vessel.SetMissionType(null);
            vessel.SetMissionArrival(-1);
            vessel.SetAllowDocking(true);

            for (int i = 0; i < 4; i++)
            {
                CivPopKerbal kerbal = new CivPopKerbal("kerbal" + i, CivPopKerbalGender.FEMALE, 0, true);
                repo.Add(kerbal);
                kerbal.SetVesselId(vessel.GetId());
                repo.Kill(kerbal);
            }

            service.Update(0, repo);

            Assert.AreEqual(TimeUnit.DAY * 85, repo.GetVessel("vessel").GetMissionArrival());
            Assert.AreEqual("HOMEWORLD", repo.GetVessel("vessel").GetMissionType());
        }
        public void not_add_rent_for_1_dead_civilian()
        {
            CivPopRepository repo = new CivPopRepository();

            repo.Add(new CivPopVessel("vessel"));

            CivPopKerbal valentina = new CivPopKerbal("Valentina", CivPopKerbalGender.FEMALE, 0, true);

            repo.Add(valentina);
            valentina.SetVesselId("vessel");
            repo.Kill(valentina);

            CivPopKerbal bill = new CivPopKerbal("Bill", CivPopKerbalGender.MALE, 0, false);

            repo.Add(bill);
            bill.SetVesselId("vessel");

            CivPopServiceRent service = new CivPopServiceRent();

            double date = 0;

            service.Update(date, repo);
            Assert.AreEqual(0, repo.GetFunds());

            date += 60 * 60;
            service.Update(date, repo);
            Assert.AreEqual(0, repo.GetFunds());

            date += TimeUnit.DAY;
            service.Update(date, repo);
            Assert.AreEqual(0, repo.GetFunds());

            date += TimeUnit.DAY;
            service.Update(date, repo);
            Assert.AreEqual(0, repo.GetFunds());
        }