OSDN Git Service

Model、View、Net、Utilの名前空間にクラスを分類する
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer.Test / BattleLogProcessorTest.cs
1 using System.Linq;\r
2 using ExpressionToCodeLib;\r
3 using KancolleSniffer.Net;\r
4 using Microsoft.VisualStudio.TestTools.UnitTesting;\r
5 \r
6 namespace KancolleSniffer.Test\r
7 {\r
8     [TestClass]\r
9     public class BattleLogProcessorTest\r
10     {\r
11         [TestInitialize]\r
12         public void Initialize()\r
13         {\r
14             ExpressionToCodeConfiguration.GlobalAssertionConfiguration = ExpressionToCodeConfiguration\r
15                 .GlobalAssertionConfiguration.WithPrintedListLengthLimit(200).WithMaximumValueLength(1000);\r
16         }\r
17 \r
18         [TestMethod]\r
19         public void NormalLog()\r
20         {\r
21             var input = Enumerable.Repeat("", 38).ToArray();\r
22             input[5] = "T字戦(有利)";\r
23             input[11] = "龍鳳改(Lv97)";\r
24             input[12] = "3/48";\r
25             input[13] = "夕立改(Lv148)";\r
26             input[14] = "5/36";\r
27             input[15] = "綾波改二(Lv148)";\r
28             input[16] = "20/37";\r
29             input[37] = "制空権確保";\r
30             var result = BattleLogProcessor.Process(input).ToArray();\r
31             PAssert.That(() => result[5] == "T字有利");\r
32             PAssert.That(() => result[23] == "龍鳳改(Lv97)・夕立改(Lv148)");\r
33             PAssert.That(() => result[38] == "確保");\r
34         }\r
35 \r
36         [TestMethod]\r
37         public void CombinedLog()\r
38         {\r
39             var input = Enumerable.Repeat("", 38).ToArray();\r
40             input[6] = "第四警戒航行序列";\r
41             input[11] = "龍鳳改(Lv97)・夕立改(Lv148)";\r
42             input[12] = "3/48・5/36";\r
43             input[37] = "航空劣勢";\r
44             var result = BattleLogProcessor.Process(input).ToArray();\r
45             PAssert.That(() => result[6] == "第四警戒");\r
46             PAssert.That(() => result[23] == "龍鳳改(Lv97)・夕立改(Lv148)");\r
47             PAssert.That(() => result[38] == "劣勢");\r
48         }\r
49 \r
50         [TestMethod]\r
51         public void CombinedUnbalanceLog()\r
52         {\r
53             var input = Enumerable.Repeat("", 38).ToArray();\r
54             input[11] = "龍鳳改(Lv97)・";\r
55             input[12] = "3/48・";\r
56             input[13] = "・夕立改(Lv148)";\r
57             input[14] = "・5/36";\r
58             var result = BattleLogProcessor.Process(input).ToArray();\r
59             PAssert.That(() => result[23] == "龍鳳改(Lv97)・夕立改(Lv148)");\r
60         }\r
61 \r
62         [TestMethod]\r
63         public void NormalLogWithKana()\r
64         {\r
65             var input = Enumerable.Repeat("", 38).ToArray();\r
66             input[11] = "Luigi Torelli(ルイージ・トレッリ)(Lv7)";\r
67             input[12] = "2/11";\r
68             var result = BattleLogProcessor.Process(input).ToArray();\r
69             PAssert.That(() => result[11] == "Luigi Torelli(Lv7)");\r
70             PAssert.That(() => result[23] == "Luigi Torelli(Lv7)");\r
71         }\r
72 \r
73         [TestMethod]\r
74         public void Ship7BattleLog()\r
75         {\r
76             var input = new[]\r
77             {\r
78                 "2017-11-20 20:59:39", "台湾沖/ルソン島沖", "1", "出撃", "S", "反航戦", "単横陣", "梯形陣", "深海潜水艦部隊 通商破壊Aライン", "", "",\r
79                 "あきつ丸改(Lv81)", "40/40", "那智改二(Lv151)", "63/63", "Roma改(Lv99)", "92/92", "阿武隈改二(Lv98)", "40/45",\r
80                 "霞改二(Lv96)", "31/31", "潮改二(Lv94)", "33/33", "龍驤改二(Lv99)", "50/50", "潜水カ級(flagship)", "0/37",\r
81                 "潜水カ級(flagship)", "0/37", "潜水カ級(elite)", "0/27", "潜水カ級(elite)", "0/27", "", "", "", "", "590", "0",\r
82                 "制空権確保"\r
83             };\r
84             var result = BattleLogProcessor.Process(input).ToArray();\r
85             PAssert.That(() => result[21] == "潮改二(Lv94)・龍驤改二(Lv99)" &&\r
86                                result[22] == "33/33・50/50");\r
87             PAssert.That(() => result.Length == 39);\r
88         }\r
89     }\r
90 }