public void OverflowTest() { var stats = new TimeSpanStats <int>(3); stats.Add(1, 1); stats.Add(2, 2); stats.Add(3, 3); stats.Add(4, 4); Assert.AreEqual(3, stats.Count()); Assert.AreEqual(2, stats[0].Tick); Assert.AreEqual(3, stats[1].Value); Assert.AreEqual(4, stats[2].Tick); }
public void Live1Tick() { if (_population.Count == 0) { return; } SpreadFood(); foreach (var individual in _population.ToList()) { if (individual.IsAlive) { individual.LiveOneTick(GetExtInfluenceForCoord(individual.Point)); } else { RemoveIndividual(individual); if (individual.Energy <= individual.Energy.Min) { MainStats.AddStat("Deaths from hunger"); } else if (individual.Age >= individual.Age.Max) { MainStats.AddStat("Deaths from age"); } else { MainStats.AddStat("Other deaths"); } } } PopulationSize.Add(Tick, _population.Count); FoodAmount.Add(Tick, _food.Count); ++Tick; }