1 // Copyright (C) 2018 Kazuhiro Fujieda <fujieda@users.osdn.me>
\r
3 // Licensed under the Apache License, Version 2.0 (the "License");
\r
4 // you may not use this file except in compliance with the License.
\r
5 // You may obtain a copy of the License at
\r
7 // http://www.apache.org/licenses/LICENSE-2.0
\r
9 // Unless required by applicable law or agreed to in writing, software
\r
10 // distributed under the License is distributed on an "AS IS" BASIS,
\r
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
12 // See the License for the specific language governing permissions and
\r
13 // limitations under the License.
\r
16 using ExpressionToCodeLib;
\r
17 using KancolleSniffer.Log;
\r
18 using Microsoft.VisualStudio.TestTools.UnitTesting;
\r
20 namespace KancolleSniffer.Test
\r
23 public class BattleLogProcessorTest
\r
26 public void Initialize()
\r
28 ExpressionToCodeConfiguration.GlobalAssertionConfiguration = ExpressionToCodeConfiguration
\r
29 .GlobalAssertionConfiguration.WithPrintedListLengthLimit(200).WithMaximumValueLength(1000);
\r
33 public void NormalLog()
\r
35 var input = Enumerable.Repeat("", 38).ToArray();
\r
36 input[5] = "T字戦(有利)";
\r
37 input[11] = "龍鳳改(Lv97)";
\r
39 input[13] = "夕立改(Lv148)";
\r
41 input[15] = "綾波改二(Lv148)";
\r
42 input[16] = "20/37";
\r
43 input[37] = "制空権確保";
\r
44 var result = new BattleLogProcessor().Process(input);
\r
45 PAssert.That(() => result[5] == "T字有利");
\r
46 PAssert.That(() => result[23] == "龍鳳改(Lv97)・夕立改(Lv148)");
\r
47 PAssert.That(() => result[38] == "確保");
\r
51 public void CombinedLog()
\r
53 var input = Enumerable.Repeat("", 38).ToArray();
\r
54 input[6] = "第四警戒航行序列";
\r
55 input[11] = "龍鳳改(Lv97)・夕立改(Lv148)";
\r
56 input[12] = "3/48・5/36";
\r
58 var result = new BattleLogProcessor().Process(input);
\r
59 PAssert.That(() => result[6] == "第四警戒");
\r
60 PAssert.That(() => result[23] == "龍鳳改(Lv97)・夕立改(Lv148)");
\r
61 PAssert.That(() => result[38] == "劣勢");
\r
65 public void CombinedUnbalanceLog()
\r
67 var input = Enumerable.Repeat("", 38).ToArray();
\r
68 input[11] = "龍鳳改(Lv97)・";
\r
69 input[12] = "3/48・";
\r
70 input[13] = "・夕立改(Lv148)";
\r
71 input[14] = "・5/36";
\r
72 var result = new BattleLogProcessor().Process(input);
\r
73 PAssert.That(() => result[23] == "龍鳳改(Lv97)・夕立改(Lv148)");
\r
77 public void NormalLogWithKana()
\r
79 var input = Enumerable.Repeat("", 38).ToArray();
\r
80 input[11] = "Luigi Torelli(ルイージ・トレッリ)(Lv7)";
\r
82 var result = new BattleLogProcessor().Process(input);
\r
83 PAssert.That(() => result[11] == "Luigi Torelli(Lv7)");
\r
84 PAssert.That(() => result[23] == "Luigi Torelli(Lv7)");
\r
88 public void Ship7BattleLog()
\r
92 "2017-11-20 20:59:39", "台湾沖/ルソン島沖", "1", "出撃", "S", "反航戦", "単横陣", "梯形陣", "深海潜水艦部隊 通商破壊Aライン", "", "",
\r
93 "あきつ丸改(Lv81)", "40/40", "那智改二(Lv151)", "63/63", "Roma改(Lv99)", "92/92", "阿武隈改二(Lv98)", "40/45",
\r
94 "霞改二(Lv96)", "31/31", "潮改二(Lv94)", "33/33", "龍驤改二(Lv99)", "50/50", "潜水カ級(flagship)", "0/37",
\r
95 "潜水カ級(flagship)", "0/37", "潜水カ級(elite)", "0/27", "潜水カ級(elite)", "0/27", "", "", "", "", "590", "0",
\r
98 var result = new BattleLogProcessor().Process(input);
\r
99 PAssert.That(() => result[21] == "潮改二(Lv94)・龍驤改二(Lv99)" &&
\r
100 result[22] == "33/33・50/50");
\r
101 PAssert.That(() => result.Length == 39);
\r