OSDN Git Service

基地航空隊の配備のコストを資材の変動に反映する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 23 May 2016 11:02:07 +0000 (20:02 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 23 May 2016 11:02:07 +0000 (20:02 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/MaterialInfo.cs
KancolleSniffer/Sniffer.cs

index bc596ef..43a28bf 100644 (file)
@@ -543,7 +543,7 @@ namespace KancolleSniffer.Test
         /// 資材の変動を正しく反映する\r
         /// </summary>\r
         [TestMethod]\r
-        public void MaterialVariation()\r
+        public void MaterialChanges()\r
         {\r
             var sniffer1 = new Sniffer();\r
             var result1 = new List<int[]>();\r
@@ -600,7 +600,14 @@ namespace KancolleSniffer.Test
                 new[] {201650, 189718, 261500, 123227, 2743, 2828, 3000, 44}\r
             };\r
             PAssert.That(() => SequenceOfSequenceEqual(expected2, result2));\r
+        }\r
 \r
+        /// <summary>\r
+        /// 基地航空隊における資材の変動を反映する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void MaterialChangesInAirCorps()\r
+        {\r
             var sniffer3 = new Sniffer();\r
             var result3 = new List<int[]>();\r
             SniffLogFile(sniffer3, "material_003", sn =>\r
@@ -623,7 +630,31 @@ namespace KancolleSniffer.Test
                 new[] {288185, 282623, 299496, 295943, 3000, 2968, 2997, 7},\r
                 new[] {288161, 282623, 299496, 295903, 3000, 2968, 2997, 7},\r
             };\r
-            PAssert.That(() => SequenceOfSequenceEqual(expected3, result3), "基地航空隊の補充");\r
+            PAssert.That(() => SequenceOfSequenceEqual(expected3, result3), "航空機の補充");\r
+\r
+            var sniffer4 = new Sniffer();\r
+            var result4 = new List<int[]>();\r
+            SniffLogFile(sniffer4, "material_004", sn =>\r
+            {\r
+                var cur = sn.Material.Current;\r
+                if (result4.Count == 0)\r
+                {\r
+                    result4.Add(cur);\r
+                }\r
+                else\r
+                {\r
+                    if (!result4.Last().SequenceEqual(cur))\r
+                        result4.Add(cur);\r
+                }\r
+            });\r
+            var expected4 = new List<int[]>\r
+            {\r
+                new[] {0, 0, 0, 0, 0, 0, 0, 0},\r
+                new[] {261012, 252252, 298492, 279622, 3000, 2842, 3000, 22},\r
+                new[] {261012, 252252, 298492, 279538, 3000, 2842, 3000, 22},\r
+                new[] {261012, 252252, 298492, 279454, 3000, 2842, 3000, 22},\r
+            };\r
+            PAssert.That(() => SequenceOfSequenceEqual(expected4, result4), "航空機の配備");\r
         }\r
 \r
         private bool SequenceOfSequenceEqual<T>(IEnumerable<IEnumerable<T>> a, IEnumerable<IEnumerable<T>> b)\r
index 9506c3f..ba32fb8 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 9506c3f8c2cdc78093feff5bcad1c4cd177ab267
+Subproject commit ba32fb8bc4168b693e27866b20c156eb781ffdbd
index 67db95f..7299afc 100644 (file)
@@ -115,6 +115,12 @@ namespace KancolleSniffer
             SetMaterial(Material.Bouxite, (int)json.api_after_bauxite);\r
         }\r
 \r
+        public void InspectAirCorpsSetPlane(dynamic json)\r
+        {\r
+            if (json.api_after_bauxite())\r
+                SetMaterial(Material.Bouxite, (int)json.api_after_bauxite);\r
+        }\r
+\r
         public void SetMaterials(int[] material)\r
         {\r
             UpdatePrevPort();\r
index ef74fea..5ceaa40 100644 (file)
@@ -448,6 +448,11 @@ namespace KancolleSniffer
                 _materialInfo.InspectAirCorpsSupply(data);\r
                 return Update.Item;\r
             }\r
+            if (url.EndsWith("api_req_air_corps/set_plane"))\r
+            {\r
+                _materialInfo.InspectAirCorpsSetPlane(data);\r
+                return Update.Item;\r
+            }\r
             return Update.None;\r
         }\r
 \r