예제 #1
0
        public TestCity(PersistedArea persistedArea = null)
        {
            Area = CreateTestArea(persistedArea);

            _factories = Area
                         .GetSupportedZoneConsumptionFactoriesPrivate()
                         .ToDictionary(x => x().GetType(), x => x);
        }
예제 #2
0
 public AreaOptions(Func <ILandValueCalculator> getLandValueCalculator,
                    PersistedArea persistedArea,
                    ProcessOptions processOptions,
                    Func <ICityServiceStrengthLevels> getCityServiceStrengthLevels)
     : this(getLandValueCalculator, processOptions, getCityServiceStrengthLevels)
 {
     _persistedArea = persistedArea ?? throw new ArgumentNullException(nameof(persistedArea));
 }
예제 #3
0
        private static Area CreateTestArea(PersistedArea persistedArea = null)
        {
            var terraFormingOptions = new TerraformingOptions
            {
                HorizontalRiver = false,
                VerticalRiver   = false
            };

            terraFormingOptions.SetWoodlands(0);
            terraFormingOptions.SetLakes(0);

            return(persistedArea != null ?
                   new Area(new AreaOptions(() => FakeLandValueCalculator.Instance, persistedArea, ProcessOptions, () => new Mock <ICityServiceStrengthLevels>().Object))
                : new Area(
                       options: new AreaOptions(
                           getLandValueCalculator: () => FakeLandValueCalculator.Instance,
                           terraformingOptions: terraFormingOptions,
                           processOptions: ProcessOptions,
                           getCityServiceStrengthLevels: () => new Mock <ICityServiceStrengthLevels>().Object
                           )
                       ));
        }