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