public void Test_Mill_NotEnoughWood() { Console.WriteLine(""); Console.WriteLine("Preparing test"); Console.WriteLine(""); var context = MockEngineContext.New(EngineSettings.DefaultVerbose); var person = new Person(context.Settings); var tile = context.World.Tiles[0]; tile.AddPerson(person); var needEntry = new NeedEntry(ActivityVerb.Mill, ItemType.Timber, PersonVitalType.NotSet, 50, 101); var activity = new MillTimberActivity(person, needEntry, context.Settings, context.Console); Console.WriteLine(""); Console.WriteLine("Executing test"); Console.WriteLine(""); activity.Act(person); var foundNeedEntry = person.Needs [0]; Assert.AreEqual(ItemType.Wood, foundNeedEntry.ItemType); Assert.AreEqual(90, foundNeedEntry.Quantity); Assert.AreEqual(102, foundNeedEntry.Priority); }
public void Test_Act_WoodIsAvailable() { Console.WriteLine(""); Console.WriteLine("Preparing test"); Console.WriteLine(""); var context = MockEngineContext.New(EngineSettings.DefaultVerbose); context.Settings.TimberMillingRate = 50; var person = new Person(context.Settings); person.Inventory.Items[ItemType.Wood] = 100; var tile = context.World.Tiles[0]; tile.AddPerson(person); var needEntry = new NeedEntry(ActivityVerb.Mill, ItemType.Timber, PersonVitalType.NotSet, 50, 101); var activity = new MillTimberActivity(person, needEntry, context.Settings, context.Console); Console.WriteLine(""); Console.WriteLine("Executing test"); Console.WriteLine(""); activity.Act(person); Console.WriteLine(""); Console.WriteLine("Analysing test"); Console.WriteLine(""); Assert.AreEqual(50, person.Inventory.Items [ItemType.Timber]); Assert.AreEqual(10, person.Inventory.Items [ItemType.Wood]); }