OSDN Git Service

日向改二の先制対潜判定を実装する
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer.Test / BattleTest.cs
index cb9257e..e4b4e0d 100644 (file)
@@ -266,6 +266,10 @@ namespace KancolleSniffer.Test
             var night = new Sniffer();\r
             SniffLogFile(night, "nelsontouch_003");\r
             PAssert.That(() => night.Battle.Result.Friend.Main[0].SpecialAttack == ShipStatus.Attack.Fire);\r
+            // 海戦をまたがってフラグを引き継ぐ\r
+            var fired = new Sniffer();\r
+            SniffLogFile(fired, "nelsontouch_004");\r
+            PAssert.That(() => fired.Fleets[0].Ships[0].SpecialAttack == ShipStatus.Attack.Fired);\r
         }\r
 \r
         /// <summary>\r
@@ -297,6 +301,19 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
+        /// 連合艦隊時の僚艦夜戦突撃に対応する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void KongoSpecial()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "kongospecial_001");\r
+            PAssert.That(() => !sniffer.IsBattleResultError);\r
+            PAssert.That(() => sniffer.Battle.Result.Friend.Guard[0].SpecialAttack == ShipStatus.Attack.Fire);\r
+            PAssert.That(() => sniffer.Fleets[1].Ships[0].SpecialAttack == ShipStatus.Attack.Fired);\r
+        }\r
+\r
+        /// <summary>\r
         /// レーダー射撃戦に対応する\r
         /// </summary>\r
         [TestMethod]\r
@@ -380,5 +397,40 @@ namespace KancolleSniffer.Test
             var ships = battle.Result.Friend.Main;\r
             Assert.IsTrue(new[] {82, 174, 147}.SequenceEqual(ships.Select(ship => ship.NowHp)));\r
         }\r
+\r
+        /// <summary>\r
+        /// 基地航空戦直後のボス戦\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void AirRaidBattleBeforeBoss()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "airraid_battle_004");\r
+            var battle = sniffer.Battle;\r
+            Assert.AreEqual(BattleState.Result, battle.BattleState);\r
+            Assert.AreEqual(0, sniffer.BadlyDamagedShips.Length);\r
+        }\r
+\r
+        /// <summary>\r
+        /// 緊急泊地修理\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void AnchorageRepair()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "anchorage_repair_001");\r
+            PAssert.That(() => !sniffer.IsBattleResultError);\r
+        }\r
+\r
+        /// <summary>\r
+        /// 大破進撃しても平気なマスでの大破警告抑制\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void IgnoreDamagedShips()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "endpoint_001");\r
+            PAssert.That(() => sniffer.BadlyDamagedShips.Length == 0);\r
+        }\r
     }\r
 }
\ No newline at end of file