public void TestWarNoEnd()
        {
            var creator = new WarDummyCreator();
            var battle  = creator.AddBattle(true, 100, 10, 20);

            battle.StartDay = 21;
            battle.Active   = false;
            var war = creator.Create();

            warRepository.Setup(x => x.GetAllActiveWars()).Returns(new List <War>()
            {
                war
            });

            warService.ProcessDayChange(51);
            Assert.IsFalse(battle.Active);
        }
        public void CreateBattle_asDefender_test()
        {
            var war = new WarDummyCreator().Create();

            mockBattleService.Setup(x => x.MakeBattleStartTransaction(It.IsAny <War>(), It.IsAny <Country>(), It.IsAny <double>()))
            .Returns(TransactionResult.Success);
            mockBattleService.Setup(x => x.CalculateWallHealth(It.IsAny <Region>())).Returns(123);
            mockBattleService.Setup(x => x.SendMessageAboutAttack(It.IsAny <War>(), It.IsAny <WarSideEnum>(), It.IsAny <Region>()));

            var battle = battleService.CreateBattle(war, war.Attacker.Regions.First().ID, WarSideEnum.Defender);

            Assert.IsTrue(battle.Active);
            Assert.IsFalse(battle.AttackerInitiatedBattle);
            Assert.AreEqual(0, battle.BattleParticipants.Count);
            Assert.AreEqual(war.Attacker.Regions.First().ID, battle.RegionID);
            Assert.AreEqual(123, battle.WallHealth);
            Assert.AreEqual(war, battle.War);
        }
        public void StartRessistanceBattle_activeWar_test()
        {
            var war = new WarDummyCreator()
                      .MakeRessistance()
                      .Create();

            var battle = new BattleDummyCreator()
                         .Create(war, false);

            var battleService = new Mock <IBattleService>();

            battleService.Setup(x => x.CreateBattle(It.IsAny <War>(), It.IsAny <int>(), It.IsAny <WarSideEnum>()))
            .Returns(battle);

            mockWarService.Setup(x => x.GetActiveRessistanceWar(It.IsAny <Country>(), It.IsAny <int>()))
            .Returns(war);

            var newBattle = warService.StartRessistanceBattle(new CitizenDummyCreator().SetCountry(war.Attacker).Create(), war.Defender.Regions.First(), battleService.Object);

            Assert.AreEqual(battle, newBattle);

            battleService.Verify(x => x.CreateBattle(It.IsAny <War>(), It.IsAny <int>(), It.Is <WarSideEnum>(side => side == WarSideEnum.Attacker)));
        }