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