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