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