OSDN Git Service

第4艦隊まで開放していないとエラーがたくさん出るのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 22 Dec 2017 13:21:28 +0000 (22:21 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 22 Dec 2017 13:21:28 +0000 (22:21 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/ShipInfo.cs

index 480ac46..ce9ff1d 100644 (file)
@@ -660,5 +660,17 @@ namespace KancolleSniffer.Test
             PAssert.That(() => sniffer.Item.NowEquips == 1118);\r
             PAssert.That(() => sniffer.Material.Current.Take(4).SequenceEqual(new[] {285615, 286250, 291010, 284744}));\r
         }\r
+\r
+        /// <summary>\r
+        /// 第2艦隊までしか解放していなくてもエラーにならないようにする\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void TwoFleets()\r
+        {\r
+            var sniffer = new Sniffer(true);\r
+            SniffLogFile(sniffer, "twofleets_001");\r
+            var expected = Enumerable.Repeat(new ChargeStatus(5, 5), ShipInfo.FleetCount);\r
+            PAssert.That(() => expected.SequenceEqual(sniffer.ChargeStatuses));\r
+        }\r
     }\r
 }
\ No newline at end of file
index db10704..aa1d9f8 160000 (submodule)
@@ -1 +1 @@
-Subproject commit db107042fc086e42a82afb693c2a5052993a82fd
+Subproject commit aa1d9f836f05d30e5166a8d3781c27653a67e9ba
index c0ecde1..ba8cacb 100644 (file)
@@ -56,7 +56,7 @@ namespace KancolleSniffer
         public const int FleetCount = 4;\r
         public const int MemberCount = 6;\r
 \r
-        private readonly int[][] _decks = new int[FleetCount][];\r
+        private readonly int[][] _decks;\r
         private readonly Dictionary<int, ShipStatus> _shipInfo = new Dictionary<int, ShipStatus>();\r
         private readonly ShipMaster _shipMaster = new ShipMaster();\r
         private readonly ItemInfo _itemInfo;\r
@@ -85,8 +85,7 @@ namespace KancolleSniffer
         public ShipInfo(ItemInfo itemInfo)\r
         {\r
             _itemInfo = itemInfo;\r
-            for (var fleet = 0; fleet < _decks.Length; fleet++)\r
-                _decks[fleet] = new int[0];\r
+            _decks = Enumerable.Repeat(Enumerable.Repeat(-1, MemberCount).ToArray(), FleetCount).ToArray();\r
             ClearShipInfo();\r
         }\r
 \r