Ejemplo n.º 1
0
        public void TestEverybodySet()
        {
            Game.Game g = new Game.Game();

            //int rand = g.Rand.Next();
            Village selectedVillage = g.Villages[0];
            Family family = selectedVillage.FamiliesList[1];
            Villager villager = family.FamilyMembers[0];
            double lifeExpectancyIni = villager.LifeExpectancy;
            epidemic = new Game.GodSpell.Epidemic(g, villager);
            selectedVillage.JobsList.Tailor.AddPerson2(villager);
            JobsModel job = villager.Job;
            epidemic.LaunchEpidemic();
            g.NextStep();
            Assert.That(villager.LifeExpectancy < lifeExpectancyIni);
            g.NextStep();
            Assert.That(villager.LifeExpectancy == lifeExpectancyIni - 2);
            List<Villager> sickVillagers= new List<Villager>();
            for (int i = 0; i < 16; i++)
            {
                g.NextStep();
            }
            Assert.That(family != null, "family is already dead");
            foreach (Villager v in family.FamilyMembers)
            {
                if((v.Health & Healths.SICK)!=0)
                sickVillagers.Add(v);
            }
            Assert.That((sickVillagers.Count>1 || family.FamilyMembers.Count<2), "no family members got sick!!!");
            sickVillagers.Clear();
            foreach (Villager v in job.Workers)
            {
                if ((v.Health & Healths.SICK) != 0)
                    sickVillagers.Add(v);
                         }
            Assert.That((sickVillagers.Count > 1 || job.Workers.Count < 2), "no workers got sick!!!");

            for (int i = 0; i < 16; i++)
            {
                g.NextStep();
            }

            foreach (Villager v in job.Workers)
            {
                Assert.That(v.Faith < 91, "villager's faith has not changed!");
            }
        }
Ejemplo n.º 2
0
 public void killPopulation()
 {
     var myGame = new Game.Game();
     var villager = myGame.Villages[0].FamiliesList[0].Father;
     Game.GodSpell.Epidemic epidemic = new Game.GodSpell.Epidemic(myGame, villager);
     var MyWindow = new Tests.IWindowImplementationForTests();
     do
     {
         myGame.NextStep();
         foreach (IEvent e in myGame.EventList)
         {
             e.PublishMessage(MyWindow);
             e.Do(MyWindow);
         }
     } while (MyWindow.nb_pushAlert == 0);
     //Assert.That(MyWindow.nb_pushAlert, Is.EqualTo(1));
 }