public void ExecuteJobOnce() { var settlement = new Settlement(); var villager = new Villager(); var definition = new ResourceDefinition("Stone", 1); var job = new CollectJob(new ResourceSource(definition, 15)); job.AssignedVillagers.Add(villager); job.Execute(settlement); Assert.IsFalse(job.LimitReached); Assert.AreEqual(1, job.AssignedVillagers.Count()); Assert.AreEqual(1, settlement.StockPile[definition]); }
public int ExecuteJobToLimit(ResourceDefinition definition, int resourceAmount, int limit) { var settlement = new Settlement(); var villager = new Villager(); var job = new CollectJob(new ResourceSource(definition, resourceAmount), limit); job.AssignedVillagers.Add(villager); Assert.IsFalse(job.LimitReached); for (var i = 0; i < resourceAmount; i++) { job.Execute(settlement); } Assert.AreEqual(1, job.AssignedVillagers.Count()); return(settlement.StockPile[definition]); }