OSDN Git Service

進撃時にNelson Touchの状態がクリアされるのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 21 Oct 2018 12:53:40 +0000 (21:53 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 26 Oct 2018 14:12:52 +0000 (23:12 +0900)
KancolleSniffer.Test/BattleBriefTest.cs
KancolleSniffer.Test/BattleTest.cs
KancolleSniffer/Model/ShipInfo.cs

index a5eb122..01cd6a9 100644 (file)
@@ -173,21 +173,5 @@ namespace KancolleSniffer.Test
             _battleInfo.InspectBattleResult(Data(logs[9]));\r
             PAssert.That(() => !_battleInfo.DisplayedResultRank.IsError);\r
         }\r
-\r
-        /// <summary>\r
-        /// Nelson Touchに対応する        \r
-        /// </summary>\r
-        [TestMethod]\r
-        public void NelsonTouch()\r
-        {\r
-            var logs = ReadAllLines("nelsontouch_001");\r
-            var battle = Data(logs[3]);\r
-            InjectShips(battle, JsonParser.Parse(logs[0]));\r
-            _battleInfo.InspectBattle(logs[1], logs[2], battle);\r
-            _battleInfo.InspectBattleResult(Data(logs[6]));\r
-            PAssert.That(() => !_battleInfo.DisplayedResultRank.IsError);\r
-            PAssert.That(() => _battleInfo.Result.Friend.Main[0].SpecialAttack == ShipStatus.Attack.Fire);\r
-            PAssert.That(() => _shipInfo.Fleets[1].Ships[0].SpecialAttack == ShipStatus.Attack.Fired);\r
-        }\r
     }\r
 }
\ No newline at end of file
index 70aea03..9137bd1 100644 (file)
@@ -246,5 +246,21 @@ namespace KancolleSniffer.Test
             SniffLogFile(sniffer, "combined_battle_004");\r
             PAssert.That(() => !sniffer.BadlyDamagedShips.Any());\r
         }\r
+\r
+        /// <summary>\r
+        /// Nelson Touchに対応する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void NelsonTouch()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "nelsontouch_001");\r
+            PAssert.That(() => !sniffer.Battle.DisplayedResultRank.IsError);\r
+            PAssert.That(() => sniffer.Battle.Result.Friend.Main[0].SpecialAttack == ShipStatus.Attack.Fire);\r
+            PAssert.That(() => sniffer.Fleets[0].Ships[0].SpecialAttack == ShipStatus.Attack.Fired);\r
+            // ship_deckでフラグを引き継ぐ\r
+            SniffLogFile(sniffer, "nelsontouch_002");\r
+            PAssert.That(() => sniffer.Fleets[0].Ships[0].SpecialAttack == ShipStatus.Attack.Fired);\r
+        }\r
     }\r
 }
\ No newline at end of file
index a33b597..c32d70e 100644 (file)
@@ -146,6 +146,7 @@ namespace KancolleSniffer.Model
                 var ship = (ShipStatus)CreateShipStatus(entry);\r
                 var org = _shipInventory[ship.Id];\r
                 ship.Escaped = org.Escaped; // 出撃中は継続する\r
+                ship.SpecialAttack = org.SpecialAttack;\r
                 _shipInventory.Add(ship);\r
             }\r
             InspectDeck(json.api_deck_data);\r