Пример #1
0
        public void Test_Act_ContinueFelling()
        {
            Console.WriteLine("");
            Console.WriteLine("Preparing test");
            Console.WriteLine("");

            var context = MockEngineContext.New();

            var settings = EngineSettings.DefaultVerbose;

            settings.FellingRate = 10;

            var person = new PersonCreator(settings).CreateAdult();

            var tile = context.World.Tiles[0];

            tile.AddPerson(person);
            tile.AddTrees(new PlantCreator(context.Settings).CreateTrees(2));

            var needEntry = new NeedEntry(ActivityVerb.Fell, ItemType.Wood, PersonVitalType.NotSet, 50, 101);

            var activity = new FellWoodActivity(person, needEntry, settings, new ConsoleHelper(settings));

            activity.Target = tile.Trees [0];

            Console.WriteLine("");
            Console.WriteLine("Executing target");
            Console.WriteLine("");

            activity.Act(person);

            Assert.AreEqual(10, activity.Target.PercentHarvested);
        }
Пример #2
0
        public void Test_Act_FinishedFelling()
        {
            Console.WriteLine("");
            Console.WriteLine("Preparing test");
            Console.WriteLine("");

            var context = MockEngineContext.New();

            var settings = EngineSettings.DefaultVerbose;

            settings.FellingRate = 10;

            var person = new PersonCreator(settings).CreateAdult();

            var tile = context.World.Tiles[0];

            tile.AddPerson(person);
            tile.AddTrees(new PlantCreator(context.Settings).CreateTrees(2));

            var needEntry = new NeedEntry(ActivityVerb.Fell, ItemType.Wood, PersonVitalType.NotSet, 50, 101);

            person.AddNeed(needEntry);

            var activity = new FellWoodActivity(person, needEntry, settings, new ConsoleHelper(settings));

            activity.Target = tile.Trees [0];
            activity.Target.PercentHarvested = 100;
            activity.TotalWoodFelled         = 40;     // Add just enough so the activity can finish

            var totalWoodExpected = activity.Target.Size;

            Console.WriteLine("");
            Console.WriteLine("Executing test");
            Console.WriteLine("");

            activity.Act(person);

            Assert.IsTrue(activity.IsFinished);
            Assert.IsNull(activity.Target);
            Assert.AreEqual(totalWoodExpected, person.Inventory.Items [ItemType.Wood]);

            Assert.AreEqual(0, person.Needs.Count);
        }