OSDN Git Service

ドロップした艦娘と装備を出撃中にカウントする
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer.Test / SnifferTest.cs
index c202117..76d8010 100644 (file)
@@ -22,6 +22,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
 \r
 namespace KancolleSniffer.Test\r
 {\r
+    using Sniffer = SnifferTest.TestingSniffer;\r
+\r
     [TestClass]\r
     public class SnifferTest\r
     {\r
@@ -32,6 +34,14 @@ namespace KancolleSniffer.Test
                 .GlobalAssertionConfiguration.WithPrintedListLengthLimit(200).WithMaximumValueLength(1000);\r
         }\r
 \r
+        public class TestingSniffer : KancolleSniffer.Sniffer\r
+        {\r
+            public TestingSniffer(bool start = false) : base(start)\r
+            {\r
+                AdditionalData.UseNumEquipsFile = false;\r
+            }\r
+        }\r
+\r
         public static StreamReader OpenLogFile(string name)\r
         {\r
             var dir = Path.GetDirectoryName(Path.GetDirectoryName(Environment.CurrentDirectory));\r
@@ -846,5 +856,30 @@ namespace KancolleSniffer.Test
             PAssert.That(() =>\r
                 sniffer.MiscText == "[獲得アイテム]\r\n弾薬: 150\r\n開発資材: 1", "途中でリロードして再出撃");\r
         }\r
+\r
+        /// <summary>\r
+        /// 新規のドロップ艦の初期装備数を登録する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void RecordNumEqipsOfNewDropShip()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "dropship_001");\r
+            PAssert.That(() => sniffer.AdditionalData.NumEquips(565) == 2);\r
+            PAssert.That(() => sniffer.ShipList.First(s => s.Spec.Id == 565).Spec.NumEquips == 2);\r
+        }\r
+\r
+        /// <summary>\r
+        /// 既知のドロップ艦とその装備をカウントする\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void CountDropShip()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            sniffer.AdditionalData.RecordNumEquips(11, "", 1);\r
+            SniffLogFile(sniffer, "dropship_002");\r
+            PAssert.That(() => sniffer.Item.NowShips == 250);\r
+            PAssert.That(() => sniffer.Item.NowEquips == 1159);\r
+        }\r
     }\r
 }
\ No newline at end of file