public EconomicSimulator(IStarSystemRepository starSystemRepository, IEmpireRepository empireRepository, IDevelopmentCalculator developmentCalculator, IMilitaryCalculator militaryCalculator) { _starSystemRepository = starSystemRepository; _empireRepository = empireRepository; _developmentCalculator = developmentCalculator; _militaryCalculator = militaryCalculator; }
public ProductionForEmpire() { _systems = new StarSystem[] { new StarSystem { Development = 300.0 }, new StarSystem { Development = 450.0 }, new StarSystem { Development = 250.0 }, new StarSystem { Development = 800.0 }, new StarSystem { Development = 200.0 } }; _empire = new EmpireSystemsView { Empire = new Empire { Alignment = new Alignment { Power = 1.0 } }, StarSystems = _systems }; _militaryCalculator = new MilitaryCalculator(_configuration.Object, _random.Object); }
public MilitarySimulator(IMilitaryCalculator militaryCalculator, IWarRepository warRepository, IEconomicSimulator economicSimulator, IEmpireRepository empireRepository) { _militaryCalculator = militaryCalculator; _warRepository = warRepository; _economicSimulator = economicSimulator; _empireRepository = empireRepository; }
public void ProductionIsNegativeIfDevelopmentCannotSustainCurrentMilitary() { _configuration.Setup(x => x.CapMilitaryProduction) .Returns(true); _militaryCalculator = new MilitaryCalculator(_configuration.Object, _random.Object); var militaryCap = 2000.0 * Parameters.MilitaryCapDevelopmentProportion; _empire.Empire.Military = militaryCap + 500.0; var result = _militaryCalculator.ProductionForEmpire(_empire); Assert.Equal(-500.0, result); }
public void ProductionIsCappedWhenConfiguredTo() { _configuration.Setup(x => x.CapMilitaryProduction) .Returns(true); _militaryCalculator = new MilitaryCalculator(_configuration.Object, _random.Object); var militaryCap = 2000.0 * Parameters.MilitaryCapDevelopmentProportion; _empire.Empire.Military = militaryCap; var result = _militaryCalculator.ProductionForEmpire(_empire); Assert.Equal(0.0, result); _empire.Empire.Military = militaryCap - 500.0; result = _militaryCalculator.ProductionForEmpire(_empire); Assert.Equal(500.0, result); }
public Combat() { _militaryCalculator = new MilitaryCalculator(_configuration.Object, _random.Object); }