Example #1
0
 public Simulator(
     ISectorGenerator sectorGenerator,
     ISimulationRepository simulationRepository,
     IEmpireGenerator empireGenerator,
     IEconomicSimulator economicSimulator,
     IMilitarySimulator militarySimulator,
     IDiplomacySimulator diplomacySimulator,
     IDeltaApplier deltaApplier)
 {
     _sectorGenerator      = sectorGenerator;
     _simulationRepository = simulationRepository;
     _empireGenerator      = empireGenerator;
     _economicSimulator    = economicSimulator;
     _militarySimulator    = militarySimulator;
     _diplomacySimulator   = diplomacySimulator;
     _deltaApplier         = deltaApplier;
 }
Example #2
0
        public RunWar()
        {
            _militarySimulator = new MilitarySimulator(
                _militaryCalculator.Object,
                _warRepository.Object,
                _economicSimulator.Object,
                _empireRepository.Object);

            _warRepository.Setup(x => x.GetWars(It.IsAny <ObjectId>()))
            .Returns(new War[] { new War {
                                     AttackerId = _attackerId, DefenderId = _defenderId
                                 } });

            var view = new EmpireBorderView
            {
                Empire = new Empire {
                    Id = _attackerId
                },
                BorderingEmpire = new Empire {
                    Id = _defenderId
                },
                EmpireSystems = new StarSystem[] { new StarSystem {
                                                       Id = _attackerSystemId
                                                   } },
                BorderingEmpireSystems = new StarSystem[] { new StarSystem {
                                                                Id = _defenderSystemId
                                                            } }
            };

            _empireRepository.Setup(x => x.GetEmpireBorderView(_attackerId, _defenderId))
            .Returns(view);

            _militaryCalculator.Setup(x => x.Combat(It.IsAny <Empire>(), It.IsAny <Empire>()))
            .Returns(new CombatResult(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <double>(), It.IsAny <double>(), It.IsAny <TerritoryGain>()));

            _empireRepository.Setup(x => x.GetById(It.IsAny <ObjectId>()))
            .Returns(new Empire {
                StarSystemsIds = new ObjectId[0]
            });
        }