public void VerifyAreaHasHundredZones() { var terraFormingOptions = new TerraformingOptions(); terraFormingOptions.SetZoneWidthAndHeight(100); var options = new AreaOptions(() => FakeLandValueCalculator.Instance, terraFormingOptions, TestCity.ProcessOptions, () => MockRepository.GenerateMock <ICityServiceStrengthLevels>()); var area = new Area(options); options.WithTerraformingOptions(x => { Assert.AreEqual(x.ZoneWidthAndHeight, area.AmountOfZonesX); Assert.AreEqual(x.ZoneWidthAndHeight, area.AmountOfZonesY); }); }
public void VerifyClusterConsumption() { var terraFormingOptions = new TerraformingOptions(); terraFormingOptions.SetZoneWidthAndHeight(100); var options = new AreaOptions(() => FakeLandValueCalculator.Instance, terraFormingOptions, TestCity.ProcessOptions, () => MockRepository.GenerateMock <ICityServiceStrengthLevels>()); var area = new Area(options); var predicate = new Func <IZoneInfo, bool>(x => x.Point.X == 2 && x.Point.Y == 4); var firstZone = area.EnumerateZoneInfos().Single(predicate); Assert.IsTrue(area.EnumerateZoneInfos().Single(predicate).ConsumptionState.GetZoneConsumption() is EmptyZoneConsumption); area.ConsumeZoneAt(firstZone, new ResidentialZoneClusterConsumption(() => new ZoneInfoFinder(null))); Assert.IsTrue(area.EnumerateZoneInfos().Single(predicate).ConsumptionState.GetZoneConsumption() is ZoneClusterMemberConsumption); }
public void VerifyAreaInitiallyHasNoZoneConsumption() { var terraFormingOptions = new TerraformingOptions(); terraFormingOptions.SetZoneWidthAndHeight(100); var options = new AreaOptions(() => FakeLandValueCalculator.Instance, terraFormingOptions, TestCity.ProcessOptions, () => MockRepository.GenerateMock <ICityServiceStrengthLevels>()); var area = new Area(options); options.WithTerraformingOptions(x => { Assert.AreEqual( expected: x.ZoneWidthAndHeight * x.ZoneWidthAndHeight, actual: area .EnumerateZoneInfos() .Count(y => y.ConsumptionState.GetZoneConsumption() is EmptyZoneConsumption) ); }); }
public ModularityArea(AreaOptions options, bool isDefaultArea = false) { Options = options; Modules = new List <ModularityModule>(); IsDefaultArea = isDefaultArea; }