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