OSDN Git Service

Z作戦で受け取った戦果を戦果.csvに記録する
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer.Test / LoggerTest.cs
index ea8db5f..f366169 100644 (file)
@@ -115,7 +115,7 @@ namespace KancolleSniffer.Test
         [TestMethod]\r
         public void InspectBattleResult()\r
         {\r
-            var sniffer = new Sniffer();\r
+            var sniffer = new Sniffer {UseOldEnemyId = true};\r
             var result = "";\r
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.Battle);\r
@@ -142,7 +142,7 @@ namespace KancolleSniffer.Test
         [TestMethod]\r
         public void InspectBattleResultOfSpMidnight()\r
         {\r
-            var sniffer = new Sniffer();\r
+            var sniffer = new Sniffer {UseOldEnemyId = true};\r
             var result = "";\r
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.Battle);\r
@@ -157,26 +157,43 @@ namespace KancolleSniffer.Test
         [TestMethod]\r
         public void InspectCombinedBattleResult()\r
         {\r
-            var sniffer = new Sniffer();\r
+            var sniffer = new Sniffer {UseOldEnemyId = true};\r
             var result = "";\r
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.Battle);\r
             SnifferTest.SniffLogFile(sniffer, "combined_surface_001");\r
-            PAssert.That(() => "2015-01-01 00:00:00,南西方面海域,3,出撃,S,同航戦,第四警戒航行序列,単縦陣,ピケット水雷戦隊 A群,,," +\r
-                               "あきつ丸改(Lv68),40/40,山城改二(Lv85),77/77,扶桑改二(Lv85),77/77,利根改二(Lv117),59/66,筑摩改二(Lv117),51/65,神通改二(Lv97),47/50," +\r
-                               "軽巡ツ級(elite),0/66,軽巡ト級(elite),0/55,駆逐イ級後期型,0/35,駆逐イ級後期型,0/35,駆逐イ級後期型,0/35,駆逐イ級後期型,0/35," +\r
-                               "144~149,0,制空権確保|" +\r
-                               "2015-01-01 00:00:00,南西方面海域,7,,S,同航戦,第四警戒航行序列,複縦陣,任務部隊 D群,駆逐艦,満潮," +\r
-                               "あきつ丸改(Lv68),40/40,山城改二(Lv85),77/77,扶桑改二(Lv85),77/77,利根改二(Lv117),33/66,筑摩改二(Lv117),51/65,神通改二(Lv97),47/50," +\r
-                               "戦艦タ級(flagship),0/90,軽母ヌ級(flagship),0/84,軽巡ト級(elite),0/55,軽巡ト級(elite),0/55,駆逐ロ級後期型,0/37,駆逐ロ級後期型,0/37," +\r
-                               "123~131,23,制空権確保|"\r
-                               == result);\r
+            PAssert.That(() =>\r
+                "2015-01-01 00:00:00,南西方面海域,3,出撃,S,同航戦,第四警戒航行序列,単縦陣,ピケット水雷戦隊 A群,,," +\r
+                "あきつ丸改(Lv68)・大淀改(Lv95),40/40・47/47,山城改二(Lv85)・Z1 zwei(Lv84),77/77・35/35,扶桑改二(Lv85)・Z3 zwei(Lv84),77/77・11/35,利根改二(Lv117)・島風改(Lv130),59/66・39/41,筑摩改二(Lv117)・雪風改(Lv130),51/65・37/37,神通改二(Lv97)・北上改二(Lv99),47/50・40/43," +\r
+                "軽巡ツ級(elite),0/66,軽巡ト級(elite),0/55,駆逐イ級後期型,0/35,駆逐イ級後期型,0/35,駆逐イ級後期型,0/35,駆逐イ級後期型,0/35," +\r
+                "144~149,0,制空権確保|" +\r
+                "2015-01-01 00:00:00,南西方面海域,7,,S,同航戦,第四警戒航行序列,複縦陣,任務部隊 D群,駆逐艦,満潮," +\r
+                "あきつ丸改(Lv68)・大淀改(Lv95),40/40・39/47,山城改二(Lv85)・Z1 zwei(Lv84),77/77・35/35,扶桑改二(Lv85)・Z3 zwei(Lv84),77/77・11/35,利根改二(Lv117)・島風改(Lv130),33/66・39/41,筑摩改二(Lv117)・雪風改(Lv130),51/65・37/37,神通改二(Lv97)・北上改二(Lv99),47/50・40/43," +\r
+                "戦艦タ級(flagship),0/90,軽母ヌ級(flagship),0/84,軽巡ト級(elite),0/55,軽巡ト級(elite),0/55,駆逐ロ級後期型,0/37,駆逐ロ級後期型,0/37," +\r
+                "123~131,23,制空権確保|"\r
+                == result);\r
+        }\r
+\r
+        [TestMethod]\r
+        public void InspectBothCombinedBattleResult()\r
+        {\r
+            var sniffer = new Sniffer {UseOldEnemyId = true};\r
+            var result = "";\r
+            sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2017, 1, 1));\r
+            sniffer.EnableLog(LogType.Battle);\r
+            SnifferTest.SniffLogFile(sniffer, "both_combined_001");\r
+            PAssert.That(() =>\r
+                "2017-01-01 00:00:00,本土沖太平洋上,27,出撃&ボス,S,同航戦,第四警戒航行序列,第三警戒航行序列,16th任務部隊 主力機動部隊群,駆逐艦,天津風," +\r
+                "愛宕改(Lv98)・暁改二(Lv84),55/57・28/31,金剛改二(Lv99)・初月改(Lv98),69/82・33/37,飛龍改二(Lv99)・高雄改(Lv98),16/67・57/57,蒼龍改二(Lv99)・神通改二(Lv99),40/67・11/50,龍驤改二(Lv99)・木曾改二(Lv99),50/50・40/44,祥鳳改(Lv76)・北上改二(Lv97),26/45・43/43," +\r
+                "水母水姫・軽巡ヘ級(flagship),0/390・0/57,空母ヲ級改(flagship)・重巡リ級(flagship),0/160・0/76,空母ヲ級改(flagship)・重巡リ級(flagship),0/160・0/76,戦艦タ級(elite)・軽巡ツ級(elite),0/88・0/66,重巡ネ級(elite)・駆逐イ級後期型,0/88・0/35,重巡ネ級(elite)・駆逐イ級後期型,0/88・0/35," +\r
+                "750~751,389,航空優勢|"\r
+                == result);\r
         }\r
 \r
         [TestMethod]\r
         public void InspectBattleResultStartAndBoss()\r
         {\r
-            var sniffer = new Sniffer();\r
+            var sniffer = new Sniffer {UseOldEnemyId = true};\r
             var result = "";\r
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.Battle);\r
@@ -211,7 +228,7 @@ namespace KancolleSniffer.Test
         [TestMethod]\r
         public void InspectBattleResultDropItemAndShip()\r
         {\r
-            var sniffer = new Sniffer();\r
+            var sniffer = new Sniffer {UseOldEnemyId = true};\r
             var result = "";\r
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.Battle);\r
@@ -235,7 +252,7 @@ namespace KancolleSniffer.Test
         [TestMethod]\r
         public void ReloadBeforeBattleResult()\r
         {\r
-            var sniffer = new Sniffer();\r
+            var sniffer = new Sniffer {UseOldEnemyId = true};\r
             var result = "";\r
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.Battle);\r
@@ -265,6 +282,19 @@ namespace KancolleSniffer.Test
         }\r
 \r
         [TestMethod]\r
+        public void WriteMaterialLogOnSortie()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            var result = "";\r
+            sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
+            sniffer.EnableLog(LogType.Material);\r
+            SnifferTest.SniffLogFile(sniffer, "battle_001");\r
+            PAssert.That(() => "2015-01-01 00:00:00,39636,36912,43064,47519,1329,1424,2030,19|" +\r
+                               "2015-01-01 00:00:00,39636,36912,43064,47519,1329,1424,2030,19|"\r
+                               == result);\r
+        }\r
+\r
+        [TestMethod]\r
         public void InspectCreateItem()\r
         {\r
             var sniffer = new Sniffer();\r
@@ -272,8 +302,8 @@ namespace KancolleSniffer.Test
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.CreateItem);\r
             SnifferTest.SniffLogFile(sniffer, "createitem_001");\r
-            PAssert.That(() => "2015-01-01 00:00:00,7.7mm機銃,対空機銃,10,20,20,10,天津風改(127),114|" +\r
-                               "2015-01-01 00:00:00,失敗,,10,20,20,10,天津風改(127),114|"\r
+            PAssert.That(() => "2015-01-01 00:00:00,12cm単装砲,小口径主砲,10,10,30,10,綾波改二(145),120|" +\r
+                               "2015-01-01 00:00:00,失敗,,10,10,30,10,綾波改二(145),120|"\r
                                == result);\r
         }\r
 \r
@@ -285,8 +315,8 @@ namespace KancolleSniffer.Test
             sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2015, 1, 1));\r
             sniffer.EnableLog(LogType.CreateShip);\r
             SnifferTest.SniffLogFile(sniffer, "createship_001");\r
-            PAssert.That(() => "2015-01-01 00:00:00,通常艦建造,球磨,軽巡洋艦,30,30,30,30,1,1,明石改(50),116|" +\r
-                               "2015-01-01 00:00:00,大型艦建造,筑摩,重巡洋艦,1500,1500,2000,1000,1,0,明石改(50),116|"\r
+            PAssert.That(() => "2015-01-01 00:00:00,通常艦建造,雷,駆逐艦,30,30,30,30,1,1,綾波改二(145),120|" +\r
+                               "2015-01-01 00:00:00,大型艦建造,霧島,巡洋戦艦,1500,1500,2000,1000,1,0,綾波改二(145),120|"\r
                                == result);\r
         }\r
 \r
@@ -304,5 +334,68 @@ namespace KancolleSniffer.Test
                                "2015-01-01 00:00:00,91式高射装置,10,○,○,10cm連装高角砲,2,0,0,60,40,9,7,明石改(50),摩耶改(98)|"\r
                                == result);\r
         }\r
+\r
+        [TestMethod]\r
+        public void Achievement()\r
+        {\r
+            var logger = new Logger(null, null, null);\r
+            logger.EnableLog(LogType.Achivement);\r
+            var result = "";\r
+            var dateEnum = new[]\r
+            {\r
+                new DateTime(2017, 3, 31, 21, 0, 0),\r
+                new DateTime(2017, 3, 31, 22, 0, 0),\r
+                new DateTime(2017, 4, 1, 1, 0, 0),\r
+                new DateTime(2017, 4, 1, 2, 0, 0),\r
+                new DateTime(2017, 4, 1, 3, 0, 0),\r
+                new DateTime(2017, 4, 2, 2, 0, 0),\r
+                new DateTime(2017, 4, 2, 3, 0, 0),\r
+                new DateTime(2017, 4, 2, 4, 0, 0)\r
+            }.GetEnumerator();\r
+            logger.SetWriter((path, s, h) => { result += s + "|"; }, () =>\r
+            {\r
+                dateEnum.MoveNext();\r
+                return (DateTime)dateEnum.Current;\r
+            });\r
+            for (var i = 0; i < 6; i++)\r
+                logger.InspectBasic(JsonParser.Parse($"{{\"api_experience\": {i * 1000}}}"));\r
+            logger.InspectBattleResult(JsonParser.Parse("{\"api_get_exmap_rate\": \"100\"}"));\r
+            logger.InspectMapNext(JsonParser.Parse("{\"api_get_eo_rate\": 75}"));\r
+            PAssert.That(() =>\r
+                "2017-03-31 21:00:00,0,0|2017-03-31 21:00:00,0,0|2017-03-31 22:00:00,1000,0|" +\r
+                "2017-04-01 03:00:00,4000,0|2017-04-02 02:00:00,5000,0|" +\r
+                "2017-04-02 03:00:00,5000,100|2017-04-02 04:00:00,5000,75|"\r
+                == result);\r
+        }\r
+\r
+        [TestMethod]\r
+        public void InspectClearItemGet()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            var result = "";\r
+            sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2017, 5, 1));\r
+            sniffer.EnableLog(LogType.Achivement);\r
+            SnifferTest.SniffLogFile(sniffer, "clearitemget_001");\r
+            PAssert.That(() =>\r
+                "2017-05-01 00:00:00,45417045,0|2017-05-01 00:00:00,45417045,350|" == result);\r
+        }\r
+\r
+        /// <summary>\r
+        /// 敵艦のIDの振り直しに対応する\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void NewId()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            var result = "";\r
+            sniffer.SetLogWriter((path, s, h) => { result += s + "|"; }, () => new DateTime(2017, 1, 1));\r
+            sniffer.EnableLog(LogType.Battle);\r
+            SnifferTest.SniffLogFile(sniffer, "newid_001");\r
+            PAssert.That(() =>\r
+                "2017-01-01 00:00:00,サーモン海域,1,出撃,S,反航戦,単縦陣,輪形陣,敵ピケット艦隊,重巡洋艦,古鷹," +\r
+                "Iowa改(Lv131),101/101,赤城改(Lv155),85/85,加賀改(Lv155),87/87,千歳航改二(Lv143),65/65,鈴谷改二(Lv99),61/61,大淀改(Lv155),53/53," +\r
+                "軽母ヌ級(elite),0/70,軽巡ヘ級(flagship),0/57,駆逐ロ級(flagship),0/43,駆逐ロ級(flagship),0/43,駆逐イ級(elite),0/30,駆逐イ級(elite),0/30," +\r
+                "371~373,24,制空権確保|" == result);\r
+        }\r
     }\r
 }
\ No newline at end of file