1 // Copyright (C) 2019 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 System.Collections.Generic;
\r
19 using ExpressionToCodeLib;
\r
20 using KancolleSniffer.Model;
\r
21 using Microsoft.VisualStudio.TestTools.UnitTesting;
\r
23 namespace KancolleSniffer.Test
\r
26 public class QuestCountTest
\r
29 public void AdjustCount()
\r
31 var count = new QuestCount
\r
33 Spec = new QuestSpec {Max = 7},
\r
36 count.AdjustCount(0);
\r
37 Assert.AreEqual(3, count.Now);
\r
38 count.AdjustCount(50);
\r
39 Assert.AreEqual(4, count.Now);
\r
40 count.AdjustCount(80);
\r
41 Assert.AreEqual(6, count.Now);
\r
42 count.AdjustCount(100);
\r
43 Assert.AreEqual(7, count.Now);
\r
45 count.AdjustCount(100);
\r
46 Assert.AreEqual(14, count.Now);
\r
47 count.AdjustCount(80);
\r
48 Assert.AreEqual(6, count.Now);
\r
49 count.AdjustCount(50);
\r
50 Assert.AreEqual(5, count.Now);
\r
51 count.AdjustCount(0);
\r
52 Assert.AreEqual(3, count.Now);
\r
56 public void AdjustCountWithShift()
\r
58 var count = new QuestCount
\r
60 Spec = new QuestSpec {Max = 7, Shift = 1},
\r
63 count.AdjustCount(0);
\r
64 Assert.AreEqual(2, count.Now);
\r
65 count.AdjustCount(50);
\r
66 Assert.AreEqual(3, count.Now);
\r
67 count.AdjustCount(80);
\r
68 Assert.AreEqual(6, count.Now);
\r
69 count.AdjustCount(100);
\r
70 Assert.AreEqual(7, count.Now);
\r
72 count.AdjustCount(100);
\r
73 Assert.AreEqual(14, count.Now);
\r
74 count.AdjustCount(80);
\r
75 Assert.AreEqual(6, count.Now);
\r
76 count.AdjustCount(50);
\r
77 Assert.AreEqual(5, count.Now);
\r
78 count.AdjustCount(0);
\r
79 Assert.AreEqual(2, count.Now);
\r
83 public void AdjustCountMax3WithShift2()
\r
85 var count = new QuestCount
\r
87 Spec = new QuestSpec {Max = 3, Shift = 2},
\r
90 count.AdjustCount(0);
\r
91 Assert.AreEqual(0, count.Now);
\r
92 count.AdjustCount(50);
\r
93 Assert.AreEqual(1, count.Now);
\r
94 count.AdjustCount(80);
\r
95 Assert.AreEqual(2, count.Now);
\r
96 count.AdjustCount(100);
\r
97 Assert.AreEqual(3, count.Now);
\r
99 count.AdjustCount(100);
\r
100 Assert.AreEqual(4, count.Now);
\r
101 count.AdjustCount(80);
\r
102 Assert.AreEqual(2, count.Now);
\r
103 count.AdjustCount(50);
\r
104 Assert.AreEqual(1, count.Now);
\r
105 count.AdjustCount(0);
\r
106 Assert.AreEqual(0, count.Now);
\r
110 public void AdjustCount80Percent()
\r
112 var count = new QuestCount
\r
114 Spec = new QuestSpec()
\r
116 for (var shift = 0; shift <= 1; shift++)
\r
118 for (var max = 2; max <= 6; max++)
\r
120 count.Spec.Max = max;
\r
121 count.Spec.Shift = shift;
\r
123 count.AdjustCount(80);
\r
124 Assert.AreEqual(count.Spec.Max - 1, count.Now);
\r
130 public void AdjustCountNowArray()
\r
132 var count = new QuestCount
\r
134 Spec = new QuestSpec {MaxArray = new[] {36, 6, 24, 12}},
\r
135 NowArray = new[] {1, 2, 3, 4}
\r
137 count.AdjustCount(50);
\r
138 Assert.IsTrue(count.NowArray.SequenceEqual(new[] {1, 2, 3, 4}));
\r
139 count.AdjustCount(100);
\r
140 Assert.IsTrue(count.NowArray.SequenceEqual(new[] {36, 6, 24, 12}));
\r
141 count.NowArray = new[] {38, 12, 19, 12};
\r
142 count.AdjustCount(100);
\r
143 Assert.IsTrue(count.NowArray.SequenceEqual(new[] {38, 12, 24, 12}));
\r
150 public void ToStringTest()
\r
152 var status = new Status
\r
154 QuestCountList = new[]
\r
156 new QuestCount {Id = 211, Now = 2},
\r
157 new QuestCount {Id = 214, NowArray = new[] {20, 7, 10, 8}},
\r
158 new QuestCount {Id = 854, NowArray = new[] {2, 1, 1, 1}},
\r
159 new QuestCount {Id = 426, NowArray = new[] {1, 1, 1, 1}},
\r
160 new QuestCount {Id = 428, NowArray = new[] {1, 1, 1}},
\r
161 new QuestCount {Id = 873, NowArray = new[] {1, 1, 1}},
\r
162 new QuestCount {Id = 888, NowArray = new[] {1, 1, 1}},
\r
163 new QuestCount {Id = 688, NowArray = new[] {2, 1, 2, 1}},
\r
164 new QuestCount {Id = 893, NowArray = new[] {1, 1, 1, 1}},
\r
165 new QuestCount {Id = 894, NowArray = new[] {1, 1, 1, 1, 1}},
\r
166 new QuestCount {Id = 280, NowArray = new[] {1, 1, 1, 1}},
\r
167 new QuestCount {Id = 872, NowArray = new[] {1, 1, 1, 1}},
\r
168 new QuestCount {Id = 284, NowArray = new[] {1, 1, 1, 1}},
\r
169 new QuestCount {Id = 226, Now = 2},
\r
170 new QuestCount {Id = 434, NowArray = new[] {1, 0, 1, 0, 1}},
\r
171 new QuestCount {Id = 436, NowArray = new[] {1, 0, 1, 1, 1}},
\r
172 new QuestCount {Id = 437, NowArray = new[] {1, 0, 1, 1}},
\r
173 new QuestCount {Id = 438, NowArray = new[] {1, 0, 1, 1}},
\r
174 new QuestCount {Id = 439, NowArray = new[] {1, 0, 1, 1}},
\r
175 new QuestCount {Id = 440, NowArray = new[] {1, 0, 1, 1, 1}}
\r
178 var countList = new QuestCountList();
\r
179 countList.SetMissionNames(new JsonObject(new[]
\r
181 new {api_id = 1, api_name = "練習航海"},
\r
182 new {api_id = 2, api_name = "長距離練習航海"},
\r
183 new {api_id = 3, api_name = "警備任務"},
\r
184 new {api_id = 4, api_name = "対潜警戒任務"},
\r
185 new {api_id = 5, api_name = "海上護衛任務"},
\r
186 new {api_id = 9, api_name = "タンカー護衛任務"},
\r
187 new {api_id = 10, api_name = "強行偵察任務"},
\r
188 new {api_id = 11, api_name = "ボーキサイト輸送任務"},
\r
189 new {api_id = 40, api_name = "水上機前線輸送"},
\r
190 new {api_id = 41, api_name = "ブルネイ泊地沖哨戒"},
\r
191 new {api_id = 46, api_name = "南西海域戦闘哨戒"},
\r
192 new {api_id = 100, api_name = "兵站強化任務"},
\r
193 new {api_id = 101, api_name = "海峡警備行動"},
\r
194 new {api_id = 102, api_name = "長時間対潜警戒"},
\r
195 new {api_id = 104, api_name = "小笠原沖哨戒線"},
\r
196 new {api_id = 105, api_name = "小笠原沖戦闘哨戒"},
\r
197 new {api_id = 110, api_name = "南西方面航空偵察作戦"},
\r
198 new {api_id = 114, api_name = "南西諸島捜索撃滅戦"},
\r
199 new {api_id = 142, api_name = "強行鼠輸送作戦"}
\r
201 new QuestInfo(countList).LoadState(status);
\r
202 Assert.AreEqual("2/3", status.QuestCountList[0].ToString());
\r
203 Assert.AreEqual("20/36 7/6 10/24 8/12", status.QuestCountList[1].ToString());
\r
204 var z = status.QuestCountList[2];
\r
205 Assert.AreEqual("2\u200a1\u200a1\u200a1", z.ToString());
\r
206 Assert.AreEqual("2-4:2 6-1:1 6-3:1 6-4:1", z.ToToolTip());
\r
207 z.NowArray = new[] {0, 0, 0, 0};
\r
208 Assert.AreEqual("2-4:0 6-1:0 6-3:0 6-4:0", z.ToToolTip());
\r
209 var q426 = status.QuestCountList[3];
\r
210 Assert.AreEqual("1\u200a1\u200a1\u200a1", q426.ToString());
\r
211 Assert.AreEqual("警備任務1 対潜警戒任務1 海上護衛任務1 強行偵察任務1", q426.ToToolTip());
\r
212 var q428 = status.QuestCountList[4];
\r
213 Assert.AreEqual("対潜警戒任務1 海峡警備行動1 長時間対潜警戒1", q428.ToToolTip());
\r
214 q428.NowArray = new[] {0, 1, 0};
\r
215 Assert.AreEqual("対潜警戒任務0 海峡警備行動1 長時間対潜警戒0", q428.ToToolTip());
\r
216 var q873 = status.QuestCountList[5];
\r
217 Assert.AreEqual("1\u200a1\u200a1", q873.ToString());
\r
218 Assert.AreEqual("3-1:1 3-2:1 3-3:1", q873.ToToolTip());
\r
219 var q888 = status.QuestCountList[6];
\r
220 Assert.AreEqual("1\u200a1\u200a1", q888.ToString());
\r
221 Assert.AreEqual("5-1:1 5-3:1 5-4:1", q888.ToToolTip());
\r
222 var q688 = status.QuestCountList[7];
\r
223 Assert.AreEqual("艦戦2 艦爆1 艦攻2 水偵1", q688.ToToolTip());
\r
224 var q893 = status.QuestCountList[8];
\r
225 Assert.AreEqual("1-5:1 7-1:1 7-2G:1 7-2M:1", q893.ToToolTip());
\r
226 var q894 = status.QuestCountList[9];
\r
227 Assert.AreEqual("1\u200a1\u200a1\u200a1\u200a1", q894.ToString());
\r
228 Assert.AreEqual("1-3:1 1-4:1 2-1:1 2-2:1 2-3:1", q894.ToToolTip());
\r
229 var q280 = status.QuestCountList[10];
\r
230 Assert.AreEqual("1\u200a1\u200a1\u200a1", q280.ToString());
\r
231 Assert.AreEqual("1-2:1 1-3:1 1-4:1 2-1:1", q280.ToToolTip());
\r
232 var q872 = status.QuestCountList.First(q => q.Id == 872);
\r
233 Assert.AreEqual("1\u200a1\u200a1\u200a1", q872.ToString());
\r
234 Assert.AreEqual("7-2M:1 5-5:1 6-2:1 6-5:1", q872.ToToolTip());
\r
235 var q284 = status.QuestCountList.First(q => q.Id == 284);
\r
236 Assert.AreEqual("1\u200a1\u200a1\u200a1", q284.ToString());
\r
237 Assert.AreEqual("1-4:1 2-1:1 2-2:1 2-3:1", q284.ToToolTip());
\r
238 var q226 = status.QuestCountList.First(q => q.Id == 226);
\r
239 Assert.AreEqual("2/5", q226.ToString());
\r
240 Assert.AreEqual("", q226.ToToolTip());
\r
241 var q434 = status.QuestCountList.First(q => q.Id == 434);
\r
242 Assert.AreEqual("1\u200a0\u200a1\u200a0\u200a1", q434.ToString());
\r
243 Assert.AreEqual("警備任務1 海上護衛任務0 兵站強化任務1 海峡警備行動0 タンカー護衛任務1", q434.ToToolTip());
\r
244 var q436 = status.QuestCountList.First(q => q.Id == 436);
\r
245 Assert.AreEqual("1\u200a0\u200a1\u200a1\u200a1", q436.ToString());
\r
246 Assert.AreEqual("練習航海1 長距離練習航海0 警備任務1 対潜警戒任務1 強行偵察任務1", q436.ToToolTip());
\r
247 var q437 = status.QuestCountList.First(q => q.Id == 437);
\r
248 Assert.AreEqual("1\u200a0\u200a1\u200a1", q437.ToString());
\r
249 Assert.AreEqual("対潜警戒任務1 小笠原沖哨戒線0 小笠原沖戦闘哨戒1 南西方面航空偵察作戦1", q437.ToToolTip());
\r
250 var q438 = status.QuestCountList.First(q => q.Id == 438);
\r
251 Assert.AreEqual("1\u200a0\u200a1\u200a1", q438.ToString());
\r
252 Assert.AreEqual("兵站強化任務1 対潜警戒任務0 タンカー護衛任務1 南西諸島捜索撃滅戦1", q438.ToToolTip());
\r
253 var q439 = status.QuestCountList.First(q => q.Id == 439);
\r
254 Assert.AreEqual("1\u200a0\u200a1\u200a1", q439.ToString());
\r
255 Assert.AreEqual("海上護衛任務1 兵站強化任務0 ボーキサイト輸送任務1 南西方面航空偵察作戦1", q439.ToToolTip());
\r
256 var q440 = status.QuestCountList.First(q => q.Id == 440);
\r
257 Assert.AreEqual("1\u200a0\u200a1\u200a1\u200a1", q440.ToString());
\r
258 Assert.AreEqual("ブルネイ泊地沖哨戒1 海上護衛任務0 水上機前線輸送1 強行鼠輸送作戦1 南西海域戦闘哨戒1", q440.ToToolTip());
\r
263 public class QuestCounterTest
\r
265 private JsonObject Js(object obj) => new JsonObject(obj);
\r
267 private object CreateQuestList(int[] ids) => Js(new
\r
270 ids.Select(id => new
\r
273 api_category = id / 100,
\r
278 api_get_material = new int[0],
\r
279 api_progress_flag = 0
\r
283 private QuestCount InjectQuest(int id)
\r
285 InjectQuestList(new[] {id});
\r
286 return _questInfo.Quests[0].Count;
\r
289 private void InjectQuestList(int[] ids)
\r
291 _questInfo.InspectQuestList("api_tab_id=0", CreateQuestList(ids));
\r
294 private void InjectMapStart(int map, int eventId)
\r
296 _questCounter.InspectMapStart(CreateMap(map, eventId));
\r
299 private void InjectMapNext(int map, int eventId)
\r
301 _questCounter.InspectMapNext(CreateMap(map, eventId));
\r
304 private object CreateMap(int map, int eventId)
\r
308 api_maparea_id = map / 10,
\r
309 api_mapinfo_no = map % 10,
\r
310 api_event_id = eventId
\r
314 private void InjectBattleResult(string result)
\r
316 _questCounter.InspectBattleResult(Js(new {api_win_rank = result}));
\r
319 private void InjectPracticeResult(string result)
\r
321 _questCounter.InspectPracticeResult(Js(new {api_win_rank = result}));
\r
324 private ShipStatus[] ShipStatusList(params int[] shipTypes)
\r
326 return shipTypes.Select(sType => ShipStatus(sType)).ToArray();
\r
329 private ShipStatus ShipStatus(int shipType, int specId = 0)
\r
331 return new ShipStatus {NowHp = 1, Spec = new ShipSpec {Id = specId, ShipType = shipType}};
\r
334 private ShipStatus ShipStatus(int shipType, int shipClass, int specId)
\r
336 return new ShipStatus
\r
337 {NowHp = 1, Spec = new ShipSpec {Id = specId, ShipType = shipType, ShipClass = shipClass}};
\r
340 private ShipStatus ShipStatus(string name)
\r
342 return new ShipStatus {NowHp = 1, Spec = new ShipSpec {Name = name}};
\r
346 private BattleInfo _battleInfo;
\r
347 private ItemInventory _itemInventory;
\r
348 private ShipInventory _shipInventory;
\r
349 private QuestInfo _questInfo;
\r
350 private QuestCounter _questCounter;
\r
353 public void Initialize()
\r
355 _battleInfo = new BattleInfo(null, null, null);
\r
356 _itemInventory = new ItemInventory();
\r
357 _shipInventory = new ShipInventory();
\r
358 _questInfo = new QuestInfo(new QuestCountList(), () => new DateTime(2015, 1, 1));
\r
359 _questCounter = new QuestCounter(_questInfo, _itemInventory, _shipInventory, _battleInfo);
\r
364 /// 210: 敵艦隊を10回邀撃せよ!
\r
366 /// 216: 敵艦隊主力を撃滅せよ!
\r
369 public void BattleResult_201_216_210_214()
\r
371 InjectQuestList(new[] {201, 216, 210, 214});
\r
373 InjectMapStart(11, 4);
\r
374 var counts = _questInfo.Quests.Select(q => q.Count).ToArray();
\r
376 Assert.AreEqual(214, counts[2].Id);
\r
377 Assert.AreEqual(1, counts[2].NowArray[0]);
\r
378 InjectBattleResult("S");
\r
380 PAssert.That(() => counts.Select(c => new {c.Id, c.Now}).SequenceEqual(new[]
\r
382 new {Id = 201, Now = 1}, new {Id = 210, Now = 1},
\r
383 new {Id = 214, Now = 0}, new {Id = 216, Now = 1}
\r
385 PAssert.That(() => counts[2].NowArray.SequenceEqual(new[] {1, 1, 0, 0}));
\r
387 InjectMapNext(11, 5);
\r
389 InjectBattleResult("B");
\r
390 PAssert.That(() => counts.Select(c => new {c.Id, c.Now}).SequenceEqual(new[]
\r
392 new {Id = 201, Now = 2}, new {Id = 210, Now = 2},
\r
393 new {Id = 214, Now = 0}, new {Id = 216, Now = 2}
\r
396 PAssert.That(() => counts[2].NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
397 InjectBattleResult("C");
\r
398 PAssert.That(() => counts.Select(c => new {c.Id, c.Now}).SequenceEqual(new[]
\r
400 new {Id = 201, Now = 2}, new {Id = 210, Now = 3},
\r
401 new {Id = 214, Now = 0}, new {Id = 216, Now = 2}
\r
403 PAssert.That(() => counts[2].NowArray.SequenceEqual(new[] {1, 1, 2, 1}));
\r
406 InjectMapNext(16, 8);
\r
407 Assert.AreEqual(2, counts[0].Now);
\r
411 /// 211: 敵空母を3隻撃沈せよ!
\r
414 /// 218: 敵補給艦を3隻撃沈せよ!
\r
417 public void BattleResult_211_212_213_218_220_221()
\r
419 InjectQuestList(new[] {211, 212, 213, 218, 220, 221});
\r
421 _battleInfo.InjectResultStatus(new ShipStatus[0], new ShipStatus[0], new[]
\r
423 new ShipStatus {NowHp = 0, MaxHp = 130, Spec = new ShipSpec {Id = 1558, ShipType = 15}},
\r
424 new ShipStatus {NowHp = 0, MaxHp = 90, Spec = new ShipSpec {Id = 1543, ShipType = 8}},
\r
425 new ShipStatus {NowHp = 0, MaxHp = 90, Spec = new ShipSpec {Id = 1543, ShipType = 8}},
\r
426 new ShipStatus {NowHp = 0, MaxHp = 96, Spec = new ShipSpec {Id = 1528, ShipType = 11}},
\r
427 new ShipStatus {NowHp = 0, MaxHp = 70, Spec = new ShipSpec {Id = 1523, ShipType = 7}},
\r
428 new ShipStatus {NowHp = 1, MaxHp = 70, Spec = new ShipSpec {Id = 1523, ShipType = 7}}
\r
429 }, new ShipStatus[0]);
\r
430 InjectBattleResult("A");
\r
432 _questInfo.Quests.Select(q => new {q.Id, q.Count.Now})
\r
433 .SequenceEqual(new[]
\r
435 new {Id = 211, Now = 2}, new {Id = 212, Now = 1}, new {Id = 213, Now = 1},
\r
436 new {Id = 218, Now = 1}, new {Id = 220, Now = 2}, new {Id = 221, Now = 1}
\r
442 /// 230: 敵潜水艦を制圧せよ!
\r
445 public void BattleResult_228_230()
\r
447 InjectQuestList(new[] {228, 230});
\r
449 _battleInfo.InjectResultStatus(new ShipStatus[0], new ShipStatus[0], new[]
\r
451 new ShipStatus {NowHp = 0, MaxHp = 27, Spec = new ShipSpec {Id = 1532, ShipType = 13}},
\r
452 new ShipStatus {NowHp = 0, MaxHp = 19, Spec = new ShipSpec {Id = 1530, ShipType = 13}},
\r
453 new ShipStatus {NowHp = 0, MaxHp = 19, Spec = new ShipSpec {Id = 1530, ShipType = 13}}
\r
454 }, new ShipStatus[0]);
\r
455 InjectBattleResult("S");
\r
457 _questInfo.Quests.Select(q => new {q.Id, q.Count.Now})
\r
458 .SequenceEqual(new[]
\r
460 new {Id = 228, Now = 3}, new {Id = 230, Now = 3}
\r
465 /// 226: 南西諸島海域の制海権を握れ!
\r
468 public void BattleResult_226()
\r
470 var count = InjectQuest(226);
\r
472 InjectMapStart(21, 4);
\r
473 InjectBattleResult("S");
\r
474 Assert.AreEqual(0, count.Now);
\r
476 InjectMapNext(21, 5);
\r
477 InjectBattleResult("S");
\r
478 Assert.AreEqual(1, count.Now);
\r
479 InjectBattleResult("B");
\r
480 Assert.AreEqual(2, count.Now);
\r
484 /// // 243: 南方海域珊瑚諸島沖の制空権を握れ!
\r
487 public void BattleResult_243()
\r
489 var count = InjectQuest(243);
\r
491 InjectMapNext(52, 4);
\r
492 InjectBattleResult("S");
\r
493 Assert.AreEqual(0, count.Now);
\r
495 InjectMapNext(52, 5);
\r
496 InjectBattleResult("A");
\r
497 Assert.AreEqual(0, count.Now);
\r
498 InjectBattleResult("S");
\r
499 Assert.AreEqual(1, count.Now);
\r
503 /// 249: 「第五戦隊」出撃せよ!
\r
506 public void BattleResult_249()
\r
508 var count = InjectQuest(249);
\r
510 _battleInfo.InjectResultStatus(new[]
\r
512 ShipStatus("妙高改二"), ShipStatus("那智改二"), ShipStatus("羽黒改二"),
\r
513 ShipStatus("足柄改二"), ShipStatus("筑摩改二"), ShipStatus("利根改二")
\r
514 }, new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
516 InjectMapNext(25, 4);
\r
517 InjectBattleResult("S");
\r
518 Assert.AreEqual(0, count.Now);
\r
520 InjectMapNext(25, 5);
\r
521 InjectBattleResult("A");
\r
522 Assert.AreEqual(0, count.Now);
\r
523 InjectBattleResult("S");
\r
524 Assert.AreEqual(1, count.Now);
\r
526 _battleInfo.Result.Friend.Main[3].NowHp = 0;
\r
527 InjectBattleResult("S");
\r
528 Assert.AreEqual(2, count.Now, "足柄改二轟沈");
\r
530 _battleInfo.Result.Friend.Main[1].NowHp = 0;
\r
531 InjectBattleResult("S");
\r
532 Assert.AreEqual(2, count.Now, "那智改二轟沈");
\r
536 /// 257: 「水雷戦隊」南西へ!
\r
539 public void BattleResult_257()
\r
541 var count = InjectQuest(257);
\r
543 _battleInfo.InjectResultStatus(
\r
544 ShipStatusList(3, 2, 2, 2, 2, 2), new ShipStatus[0],
\r
545 new ShipStatus[0], new ShipStatus[0]);
\r
547 InjectMapNext(14, 4);
\r
548 InjectBattleResult("S");
\r
549 Assert.AreEqual(0, count.Now);
\r
551 InjectMapNext(14, 5);
\r
552 InjectBattleResult("A");
\r
553 Assert.AreEqual(0, count.Now);
\r
554 InjectBattleResult("S");
\r
555 Assert.AreEqual(1, count.Now);
\r
556 _questInfo.Quests[0].Count.Now = 0;
\r
558 _battleInfo.Result.Friend.Main[0].NowHp = 0;
\r
559 InjectBattleResult("S");
\r
560 Assert.AreEqual(0, count.Now, "軽巡轟沈");
\r
561 _battleInfo.Result.Friend.Main[0].NowHp = 1;
\r
563 _battleInfo.Result.Friend.Main[0].Spec.ShipType = 2;
\r
564 _battleInfo.Result.Friend.Main[1].Spec.ShipType = 3;
\r
565 InjectBattleResult("S");
\r
566 Assert.AreEqual(0, count.Now, "旗艦が駆逐");
\r
567 _battleInfo.Result.Friend.Main[0].Spec.ShipType = 3;
\r
569 _battleInfo.Result.Friend.Main[2].Spec.ShipType = 3;
\r
570 _battleInfo.Result.Friend.Main[3].Spec.ShipType = 3;
\r
571 InjectBattleResult("S");
\r
572 Assert.AreEqual(0, count.Now, "軽巡が4隻");
\r
574 _battleInfo.Result.Friend.Main[0].Spec.ShipType = 3;
\r
575 _battleInfo.Result.Friend.Main[3].Spec.ShipType = 4;
\r
576 InjectBattleResult("S");
\r
577 Assert.AreEqual(0, count.Now, "駆逐軽巡以外");
\r
581 /// 257: 「水上打撃部隊」南方へ!
\r
584 public void BattleResult_259()
\r
586 var count = InjectQuest(259);
\r
590 ShipStatus(3, 52, 321), ShipStatus(9, 19, 276), ShipStatus(10, 26, 411),
\r
591 ShipStatus(10, 26, 412), ShipStatus(5, 29, 193), ShipStatus(5, 29, 194)
\r
593 _battleInfo.InjectResultStatus(
\r
594 org.ToArray(), new ShipStatus[0],
\r
595 new ShipStatus[0], new ShipStatus[0]);
\r
597 InjectMapNext(51, 4);
\r
598 InjectBattleResult("S");
\r
599 Assert.AreEqual(0, count.Now);
\r
601 InjectMapNext(51, 5);
\r
602 InjectBattleResult("A");
\r
603 Assert.AreEqual(0, count.Now);
\r
604 InjectBattleResult("S");
\r
605 Assert.AreEqual(1, count.Now);
\r
606 _questInfo.Quests[0].Count.Now = 0;
\r
608 _battleInfo.Result.Friend.Main[0].NowHp = 0;
\r
609 InjectBattleResult("S");
\r
610 Assert.AreEqual(0, count.Now, "軽巡轟沈");
\r
611 _battleInfo.Result.Friend.Main[0].NowHp = 1;
\r
613 _battleInfo.Result.Friend.Main[4] = ShipStatus(9, 37, 136);
\r
614 InjectBattleResult("S");
\r
615 Assert.AreEqual(0, count.Now, "戦艦4隻");
\r
616 _battleInfo.Result.Friend.Main[4] = org[4];
\r
618 _battleInfo.Result.Friend.Main[0] = ShipStatus(4, 4, 58);
\r
619 InjectBattleResult("S");
\r
620 Assert.AreEqual(0, count.Now, "軽巡なし");
\r
621 _battleInfo.Result.Friend.Main[0] = org[0];
\r
623 _battleInfo.Result.Friend.Main[2] = ShipStatus(10, 2, 553);
\r
624 InjectBattleResult("S");
\r
625 Assert.AreEqual(1, count.Now, "伊勢改二");
\r
629 /// 264: 「空母機動部隊」西へ!
\r
632 public void BattleResult_264()
\r
634 var count = InjectQuest(264);
\r
636 _battleInfo.InjectResultStatus(
\r
637 ShipStatusList(7, 11, 3, 3, 2, 2), new ShipStatus[0],
\r
638 new ShipStatus[0], new ShipStatus[0]);
\r
640 InjectMapNext(42, 4);
\r
641 InjectBattleResult("S");
\r
642 Assert.AreEqual(0, count.Now);
\r
644 InjectMapNext(42, 5);
\r
645 InjectBattleResult("A");
\r
646 Assert.AreEqual(0, count.Now);
\r
647 InjectBattleResult("S");
\r
648 Assert.AreEqual(1, count.Now);
\r
650 _battleInfo.Result.Friend.Main[0].NowHp = 0;
\r
651 InjectBattleResult("S");
\r
652 Assert.AreEqual(1, count.Now, "轟沈あり");
\r
656 /// 266: 「水上反撃部隊」突入せよ!
\r
659 public void BattleResult_266()
\r
661 var count = InjectQuest(266);
\r
663 _battleInfo.InjectResultStatus(
\r
664 ShipStatusList(2, 5, 3, 2, 2, 2), new ShipStatus[0],
\r
665 new ShipStatus[0], new ShipStatus[0]);
\r
667 InjectMapNext(25, 4);
\r
668 InjectBattleResult("S");
\r
669 Assert.AreEqual(0, count.Now);
\r
671 InjectMapNext(25, 5);
\r
672 InjectBattleResult("A");
\r
673 Assert.AreEqual(0, count.Now);
\r
674 InjectBattleResult("S");
\r
675 Assert.AreEqual(1, count.Now);
\r
677 _battleInfo.Result.Friend.Main[1].NowHp = 0;
\r
678 InjectBattleResult("S");
\r
679 Assert.AreEqual(1, count.Now, "轟沈あり");
\r
680 _battleInfo.Result.Friend.Main[1].NowHp = 1;
\r
682 _battleInfo.Result.Friend.Main[0].Spec.ShipType = 3;
\r
683 _battleInfo.Result.Friend.Main[2].Spec.ShipType = 2;
\r
684 InjectBattleResult("S");
\r
685 Assert.AreEqual(1, count.Now, "旗艦が軽巡");
\r
686 _battleInfo.Result.Friend.Main[0].Spec.ShipType = 2;
\r
687 _battleInfo.Result.Friend.Main[2].Spec.ShipType = 3;
\r
689 _battleInfo.Result.Friend.Main[3].Spec.ShipType = 3;
\r
690 InjectBattleResult("S");
\r
691 Assert.AreEqual(1, count.Now, "軽巡が2隻");
\r
695 /// 280: 兵站線確保!海上警備を強化実施せよ!
\r
698 public void BattleResult_280()
\r
700 var count = InjectQuest(280);
\r
702 _battleInfo.InjectResultStatus(
\r
703 ShipStatusList(7, 2, 1, 1, 8, 8), new ShipStatus[0],
\r
704 new ShipStatus[0], new ShipStatus[0]);
\r
706 InjectMapNext(12, 4);
\r
707 InjectBattleResult("S");
\r
708 InjectMapNext(12, 5);
\r
709 InjectBattleResult("A");
\r
710 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}));
\r
712 InjectBattleResult("S");
\r
713 InjectMapNext(13, 5);
\r
714 InjectBattleResult("S");
\r
715 InjectMapNext(14, 5);
\r
716 InjectBattleResult("S");
\r
717 InjectMapNext(21, 5);
\r
718 InjectBattleResult("S");
\r
719 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
721 _battleInfo.Result.Friend.Main = ShipStatusList(7, 1, 1, 8, 8, 8);
\r
722 InjectBattleResult("S");
\r
723 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
725 _battleInfo.Result.Friend.Main = ShipStatusList(8, 1, 1, 1, 8, 8);
\r
726 InjectBattleResult("S");
\r
727 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
729 _battleInfo.Result.Friend.Main = ShipStatusList(3, 2, 1, 1, 8, 8);
\r
730 InjectBattleResult("S");
\r
731 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 2}));
\r
733 _battleInfo.Result.Friend.Main = ShipStatusList(2, 4, 2, 1, 8, 8);
\r
734 InjectBattleResult("S");
\r
735 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 3}));
\r
737 _battleInfo.Result.Friend.Main = ShipStatusList(2, 2, 21, 2, 8, 8);
\r
738 InjectBattleResult("S");
\r
739 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 4}));
\r
743 /// 284: 南西諸島方面「海上警備行動」発令!
\r
746 public void BattleResult_284()
\r
748 var count = InjectQuest(284);
\r
750 _battleInfo.InjectResultStatus(
\r
751 ShipStatusList(7, 2, 1, 1, 8, 8), new ShipStatus[0],
\r
752 new ShipStatus[0], new ShipStatus[0]);
\r
754 InjectMapNext(14, 4);
\r
755 InjectBattleResult("S");
\r
756 InjectMapNext(14, 5);
\r
757 InjectBattleResult("A");
\r
758 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}));
\r
760 InjectBattleResult("S");
\r
761 InjectMapNext(21, 5);
\r
762 InjectBattleResult("S");
\r
763 InjectMapNext(22, 5);
\r
764 InjectBattleResult("S");
\r
765 InjectMapNext(23, 5);
\r
766 InjectBattleResult("S");
\r
767 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
773 /// 840: 【節分任務】令和三年節分作戦
\r
776 public void BattleResult_840()
\r
778 var count = InjectQuest(840);
\r
780 _battleInfo.InjectResultStatus(
\r
781 ShipStatusList(7, 2, 1), new ShipStatus[0],
\r
782 new ShipStatus[0], new ShipStatus[0]);
\r
784 InjectMapNext(21, 5);
\r
785 InjectBattleResult("A");
\r
786 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0}));
\r
787 _battleInfo.Result.Friend.Main = ShipStatusList(7, 2, 1, 1);
\r
788 InjectBattleResult("B");
\r
789 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0}));
\r
790 InjectBattleResult("A");
\r
791 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0}));
\r
793 _battleInfo.Result.Friend.Main = ShipStatusList(3, 2, 1, 1);
\r
794 InjectMapNext(22, 5);
\r
795 InjectBattleResult("A");
\r
796 _battleInfo.Result.Friend.Main = ShipStatusList(21, 2, 1, 1);
\r
797 InjectMapNext(23, 5);
\r
798 InjectBattleResult("A");
\r
799 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1}));
\r
804 /// 854: 戦果拡張任務!「Z作戦」前段作戦
\r
807 public void BattleResult_822_854()
\r
809 InjectQuestList(new[] {822, 854});
\r
810 var c822 = _questInfo.Quests[0].Count;
\r
811 var c854 = _questInfo.Quests[1].Count;
\r
813 InjectMapNext(24, 4);
\r
814 InjectBattleResult("S");
\r
816 PAssert.That(() => c854.NowArray.SequenceEqual(new[] {0, 0, 0, 0}));
\r
817 Assert.AreEqual(0, c822.Now);
\r
819 InjectMapNext(24, 5);
\r
820 InjectBattleResult("A");
\r
821 InjectMapNext(61, 5);
\r
822 InjectBattleResult("A");
\r
823 InjectMapNext(63, 5);
\r
824 InjectBattleResult("A");
\r
825 InjectMapNext(64, 5);
\r
826 InjectBattleResult("S");
\r
827 PAssert.That(() => c854.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
828 Assert.AreEqual(0, c822.Now);
\r
829 InjectMapNext(24, 5);
\r
830 InjectBattleResult("S");
\r
831 PAssert.That(() => c854.NowArray.SequenceEqual(new[] {2, 1, 1, 1}));
\r
832 Assert.AreEqual(1, c822.Now);
\r
836 /// 845: 発令!「西方海域作戦」
\r
839 public void BattleResult_845()
\r
841 var count = InjectQuest(845);
\r
843 InjectMapNext(41, 4);
\r
844 InjectBattleResult("S");
\r
845 InjectMapNext(41, 5);
\r
846 InjectBattleResult("A");
\r
847 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}));
\r
849 InjectMapNext(41, 5);
\r
850 InjectBattleResult("S");
\r
851 InjectMapNext(42, 5);
\r
852 InjectBattleResult("S");
\r
853 InjectMapNext(43, 5);
\r
854 InjectBattleResult("S");
\r
855 InjectMapNext(44, 5);
\r
856 InjectBattleResult("S");
\r
857 InjectMapNext(45, 5);
\r
858 InjectBattleResult("S");
\r
859 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 1}));
\r
863 /// 861: 強行輸送艦隊、抜錨!
\r
866 public void MapNext_861()
\r
868 var count = InjectQuest(861);
\r
870 _battleInfo.InjectResultStatus(
\r
871 ShipStatusList(10, 22, 2, 2, 2, 2), new ShipStatus[0],
\r
872 new ShipStatus[0], new ShipStatus[0]);
\r
874 InjectMapNext(16, 4);
\r
875 Assert.AreEqual(0, count.Now);
\r
877 InjectMapNext(16, 8);
\r
878 Assert.AreEqual(1, count.Now);
\r
880 _battleInfo.Result.Friend.Main[1].NowHp = 0;
\r
881 InjectMapNext(16, 8);
\r
882 Assert.AreEqual(1, count.Now, "轟沈あり");
\r
883 _battleInfo.Result.Friend.Main[1].NowHp = 1;
\r
885 _battleInfo.Result.Friend.Main[2].Spec.ShipType = 10;
\r
886 InjectMapNext(16, 8);
\r
887 Assert.AreEqual(1, count.Now, "補給・航戦が3隻");
\r
891 /// 862: 前線の航空偵察を実施せよ!
\r
894 public void BattleResult_862()
\r
896 var count = InjectQuest(862);
\r
898 _battleInfo.InjectResultStatus(
\r
899 ShipStatusList(2, 3, 3, 2, 2, 16), new ShipStatus[0],
\r
900 new ShipStatus[0], new ShipStatus[0]);
\r
902 InjectMapNext(63, 4);
\r
903 InjectBattleResult("A");
\r
904 Assert.AreEqual(0, count.Now);
\r
906 InjectMapNext(63, 5);
\r
907 InjectBattleResult("B");
\r
908 Assert.AreEqual(0, count.Now);
\r
909 InjectBattleResult("A");
\r
910 Assert.AreEqual(1, count.Now);
\r
912 _battleInfo.Result.Friend.Main[1].NowHp = 0;
\r
913 InjectBattleResult("A");
\r
914 Assert.AreEqual(1, count.Now, "轟沈あり");
\r
915 _battleInfo.Result.Friend.Main[1].NowHp = 1;
\r
917 _battleInfo.Result.Friend.Main[3].Spec.ShipType = 3;
\r
918 _battleInfo.Result.Friend.Main[4].Spec.ShipType = 16;
\r
919 InjectBattleResult("A");
\r
920 Assert.AreEqual(2, count.Now, "軽巡3隻水母2隻");
\r
924 /// 872: 戦果拡張任務!「Z作戦」後段作戦
\r
927 public void BattleResult_872()
\r
929 var count = InjectQuest(872);
\r
931 InjectMapNext(55, 4);
\r
932 InjectBattleResult("A");
\r
933 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}));
\r
934 InjectBattleResult("S");
\r
935 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}));
\r
936 InjectMapNext(55, 5);
\r
937 InjectBattleResult("S");
\r
938 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 1, 0, 0}));
\r
940 InjectMapNext(62, 5);
\r
941 InjectBattleResult("S");
\r
942 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 1, 1, 0}));
\r
943 InjectMapNext(65, 5);
\r
944 InjectBattleResult("S");
\r
945 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 1, 1, 1}));
\r
946 _questCounter.InspectMapNext(Js(new
\r
948 api_maparea_id = 7,
\r
949 api_mapinfo_no = 2,
\r
953 InjectBattleResult("S");
\r
954 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}), "7-2M");
\r
958 /// 873: 北方海域警備を実施せよ!
\r
961 public void BattleResult_873()
\r
963 var count = InjectQuest(873);
\r
965 _battleInfo.InjectResultStatus(
\r
966 ShipStatusList(3, 2, 2, 2, 2, 2), new ShipStatus[0],
\r
967 new ShipStatus[0], new ShipStatus[0]);
\r
969 InjectMapNext(31, 4);
\r
970 InjectBattleResult("A");
\r
971 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0}));
\r
973 InjectMapNext(31, 5);
\r
974 InjectBattleResult("B");
\r
975 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0}));
\r
976 InjectBattleResult("A");
\r
977 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0}));
\r
979 _battleInfo.Result.Friend.Main[0].Spec.ShipType = 2;
\r
980 InjectBattleResult("A");
\r
981 Assert.AreEqual(1, _questInfo.Quests[0].Count.NowArray[0], "軽巡なし");
\r
982 _battleInfo.Result.Friend.Main[0].Spec.ShipType = 3;
\r
984 InjectMapNext(32, 5);
\r
985 InjectBattleResult("A");
\r
986 InjectMapNext(33, 5);
\r
987 InjectBattleResult("A");
\r
988 Assert.IsTrue(_questInfo.Quests[0].Count.NowArray.SequenceEqual(new[] {1, 1, 1}));
\r
992 /// 875: 精鋭「三一駆」、鉄底海域に突入せよ!
\r
995 public void BattleResult_875()
\r
997 var count = InjectQuest(875);
\r
999 _battleInfo.InjectResultStatus(new[]
\r
1001 ShipStatus("長波改二"), ShipStatus("Iowa改"), ShipStatus("Saratoga Mk.II"),
\r
1002 ShipStatus("瑞鶴改二甲"), ShipStatus("望月改"), ShipStatus("朝霜改")
\r
1003 }, new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1005 InjectMapNext(54, 4);
\r
1006 InjectBattleResult("S");
\r
1007 Assert.AreEqual(0, count.Now);
\r
1009 InjectMapNext(54, 5);
\r
1010 InjectBattleResult("A");
\r
1011 Assert.AreEqual(0, count.Now);
\r
1012 InjectBattleResult("S");
\r
1013 Assert.AreEqual(1, count.Now);
\r
1015 _battleInfo.Result.Friend.Main[5].NowHp = 0;
\r
1016 InjectBattleResult("S");
\r
1017 Assert.AreEqual(1, count.Now, "朝霜改轟沈");
\r
1018 _battleInfo.Result.Friend.Main[5].NowHp = 1;
\r
1020 _battleInfo.Result.Friend.Main[0] = ShipStatus("高波改");
\r
1021 InjectBattleResult("S");
\r
1022 Assert.AreEqual(1, count.Now, "長波改二なし");
\r
1023 _battleInfo.Result.Friend.Main[0] = ShipStatus("長波改二");
\r
1025 _battleInfo.Result.Friend.Main[5] = ShipStatus("高波改");
\r
1026 InjectBattleResult("S");
\r
1027 Assert.AreEqual(2, count.Now, "高波改");
\r
1028 _battleInfo.Result.Friend.Main[5] = ShipStatus("沖波改");
\r
1029 InjectBattleResult("S");
\r
1030 Assert.AreEqual(3, count.Now, "沖波改");
\r
1031 _battleInfo.Result.Friend.Main[5] = ShipStatus("朝霜改二");
\r
1032 InjectBattleResult("S");
\r
1033 Assert.AreEqual(4, count.Now, "朝霜改二");
\r
1037 /// 888: 新編成「三川艦隊」、鉄底海峡に突入せよ!
\r
1040 public void BattleResult_888()
\r
1042 var count = InjectQuest(888);
\r
1044 _battleInfo.InjectResultStatus(new[]
\r
1046 ShipStatus("鳥海改二"), ShipStatus("青葉改"), ShipStatus("衣笠改二"),
\r
1047 ShipStatus("加古改二"), ShipStatus("夕立改二"), ShipStatus("綾波改二")
\r
1048 }, new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1050 InjectMapNext(51, 4);
\r
1051 InjectBattleResult("S");
\r
1052 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0}));
\r
1054 InjectMapNext(51, 5);
\r
1055 InjectBattleResult("A");
\r
1056 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0}));
\r
1057 InjectBattleResult("S");
\r
1058 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0}));
\r
1059 _battleInfo.Result.Friend.Main[0].NowHp = 0;
\r
1060 InjectBattleResult("S");
\r
1061 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0}), "轟沈あり");
\r
1062 _battleInfo.Result.Friend.Main[0].NowHp = 1;
\r
1064 _battleInfo.Result.Friend.Main[0] = ShipStatus("妙高改二");
\r
1065 InjectBattleResult("S");
\r
1066 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0}), "三川艦隊3隻");
\r
1068 _battleInfo.Result.Friend.Main[0] = ShipStatus("夕張改二特");
\r
1069 InjectMapNext(53, 5);
\r
1070 InjectBattleResult("S");
\r
1071 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0}));
\r
1073 _battleInfo.Result.Friend.Main[0] = ShipStatus("天龍改二");
\r
1074 _battleInfo.Result.Friend.Main[1] = ShipStatus("古鷹改二");
\r
1075 InjectMapNext(54, 5);
\r
1076 InjectBattleResult("S");
\r
1077 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1}));
\r
1081 /// 893: 泊地周辺海域の安全確保を徹底せよ!
\r
1084 public void BattleResult_893()
\r
1086 var count = InjectQuest(893);
\r
1088 InjectMapNext(15, 4);
\r
1089 InjectBattleResult("S");
\r
1090 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}));
\r
1092 InjectMapNext(15, 5);
\r
1093 InjectBattleResult("A");
\r
1094 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "A勝利はカウントしない");
\r
1095 InjectBattleResult("S");
\r
1096 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "1-5");
\r
1098 InjectMapNext(71, 5);
\r
1099 InjectBattleResult("S");
\r
1100 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0}), "7-1");
\r
1102 _questCounter.InspectMapNext(Js(new
\r
1104 api_maparea_id = 7,
\r
1105 api_mapinfo_no = 2,
\r
1109 InjectBattleResult("S");
\r
1110 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}), "7-2G");
\r
1112 _questCounter.InspectMapNext(Js(new
\r
1114 api_maparea_id = 7,
\r
1115 api_mapinfo_no = 2,
\r
1119 InjectBattleResult("S");
\r
1120 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}), "7-2M");
\r
1124 /// 894: 空母戦力の投入による兵站線戦闘哨戒
\r
1127 public void BattleResult_894()
\r
1129 var count = InjectQuest(894);
\r
1130 _battleInfo.InjectResultStatus(
\r
1131 ShipStatusList(2, 2, 2, 2, 2, 2),
\r
1132 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1134 InjectMapNext(13, 5);
\r
1135 InjectBattleResult("S");
\r
1136 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}), "空母なしはカウントしない");
\r
1138 _battleInfo.Result.Friend.Main[0].Spec.ShipType = 7;
\r
1139 InjectBattleResult("A");
\r
1140 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}), "A勝利はカウントしない");
\r
1142 InjectBattleResult("S");
\r
1143 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "1-3");
\r
1145 InjectMapNext(14, 4);
\r
1146 InjectBattleResult("S");
\r
1147 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "1-4");
\r
1149 InjectMapNext(14, 5);
\r
1150 InjectBattleResult("S");
\r
1151 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0, 0}), "1-4");
\r
1153 InjectMapNext(21, 5);
\r
1154 InjectBattleResult("S");
\r
1155 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0, 0}), "2-1");
\r
1157 InjectMapNext(22, 5);
\r
1158 InjectBattleResult("S");
\r
1159 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 0}), "2-2");
\r
1161 InjectMapNext(23, 5);
\r
1162 InjectBattleResult("S");
\r
1163 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 1}), "2-3");
\r
1170 public void BattleResult_903()
\r
1172 var count = InjectQuest(903);
\r
1173 _battleInfo.InjectResultStatus(new[] {ShipStatus("夕張改二"), ShipStatus("睦月"), ShipStatus("綾波")},
\r
1174 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1176 InjectMapNext(51, 5);
\r
1177 InjectBattleResult("S");
\r
1178 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "六水戦駆逐が1隻");
\r
1180 _battleInfo.Result.Friend.Main[2] = ShipStatus("如月");
\r
1181 InjectBattleResult("A");
\r
1182 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "A勝利はカウントしない");
\r
1184 InjectBattleResult("S");
\r
1185 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "5-1");
\r
1187 InjectMapNext(54, 4);
\r
1188 InjectBattleResult("S");
\r
1189 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "ボス以外はカウントしない");
\r
1191 _battleInfo.Result.Friend.Main[0] = ShipStatus("夕張改");
\r
1192 InjectBattleResult("S");
\r
1193 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "旗艦が夕張改");
\r
1195 _battleInfo.Result.Friend.Main = new[] {ShipStatus("睦月"), ShipStatus("如月"), ShipStatus("夕張改二")};
\r
1196 InjectMapNext(54, 5);
\r
1197 InjectBattleResult("S");
\r
1198 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "旗艦が夕張改二ではない");
\r
1200 _battleInfo.Result.Friend.Main = new[] {ShipStatus("夕張改二"), ShipStatus("弥生"), ShipStatus("卯月")};
\r
1201 InjectMapNext(54, 5);
\r
1202 InjectBattleResult("S");
\r
1203 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0}), "5-4");
\r
1205 _battleInfo.Result.Friend.Main = new[] {ShipStatus("夕張改二"), ShipStatus("菊月"), ShipStatus("望月")};
\r
1206 InjectMapNext(64, 5);
\r
1207 InjectBattleResult("S");
\r
1208 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}), "6-4");
\r
1210 InjectMapNext(65, 5);
\r
1211 InjectBattleResult("S");
\r
1212 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}), "6-5");
\r
1214 _battleInfo.Result.Friend.Main = new[] {ShipStatus("夕張改二"), ShipStatus("由良改")};
\r
1215 InjectBattleResult("S");
\r
1216 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}), "由良改");
\r
1218 _battleInfo.Result.Friend.Main = new[] {ShipStatus("夕張改二"), ShipStatus("由良改二")};
\r
1219 InjectBattleResult("S");
\r
1220 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 2}), "由良改二");
\r
1224 /// 904: 精鋭「十九駆」、躍り出る!
\r
1227 public void BattleResult_904()
\r
1229 var count = InjectQuest(904);
\r
1230 _battleInfo.InjectResultStatus(
\r
1231 new[] {ShipStatus("綾波改二"), ShipStatus("敷波")},
\r
1232 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1234 InjectMapNext(25, 5);
\r
1235 InjectBattleResult("S");
\r
1236 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "敷波はカウントしない");
\r
1238 _battleInfo.Result.Friend.Main[1] = ShipStatus("敷波改二");
\r
1239 InjectBattleResult("A");
\r
1240 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "A勝利はカウントしない");
\r
1242 InjectBattleResult("S");
\r
1243 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "2-5");
\r
1245 InjectMapNext(34, 4);
\r
1246 InjectBattleResult("S");
\r
1247 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "ボス以外はカウントしない");
\r
1249 InjectMapNext(34, 5);
\r
1250 InjectBattleResult("S");
\r
1251 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0}), "3-4");
\r
1253 InjectMapNext(45, 5);
\r
1254 InjectBattleResult("S");
\r
1255 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}), "4-5");
\r
1257 InjectMapNext(53, 5);
\r
1258 InjectBattleResult("S");
\r
1259 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}), "5-3");
\r
1263 /// 905: 「海防艦」、海を護る!
\r
1266 public void BattleResult_905()
\r
1268 var count = InjectQuest(905);
\r
1269 _battleInfo.InjectResultStatus(
\r
1270 ShipStatusList(1, 1, 1, 2, 2, 2),
\r
1271 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1273 InjectMapNext(11, 5);
\r
1274 InjectBattleResult("A");
\r
1275 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}), "6隻はカウントしない");
\r
1277 _battleInfo.Result.Friend.Main[5] = new ShipStatus();
\r
1278 InjectBattleResult("B");
\r
1279 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}), "B勝利はカウントしない");
\r
1281 InjectBattleResult("A");
\r
1282 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "1-1");
\r
1284 InjectMapNext(12, 4);
\r
1285 InjectBattleResult("A");
\r
1286 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "ボス以外はカウントしない");
\r
1288 InjectMapNext(12, 5);
\r
1289 InjectBattleResult("A");
\r
1290 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0, 0}), "1-2");
\r
1292 _battleInfo.Result.Friend.Main[0] = ShipStatus(2);
\r
1293 InjectMapNext(13, 5);
\r
1294 InjectBattleResult("A");
\r
1295 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0, 0}), "海防艦2隻はカウントしない");
\r
1297 _battleInfo.Result.Friend.Main[0] = ShipStatus(1);
\r
1298 InjectBattleResult("A");
\r
1299 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0, 0}), "1-3");
\r
1301 InjectMapNext(15, 5);
\r
1302 InjectBattleResult("A");
\r
1303 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 0}), "1-5");
\r
1305 InjectMapNext(16, 8);
\r
1306 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 1}), "1-6");
\r
1310 /// 912: 工作艦「明石」護衛任務
\r
1313 public void BattleResult_912()
\r
1315 var count = InjectQuest(912);
\r
1316 _battleInfo.InjectResultStatus(
\r
1317 new[] {ShipStatus("明石"), ShipStatus(2), ShipStatus(2), ShipStatus(1)},
\r
1318 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1320 InjectMapNext(13, 5);
\r
1321 InjectBattleResult("A");
\r
1322 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}), "駆逐艦2隻はカウントしない");
\r
1324 _battleInfo.Result.Friend.Main[3] = ShipStatus(2);
\r
1325 InjectBattleResult("B");
\r
1326 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0, 0}), "B勝利はカウントしない");
\r
1328 InjectBattleResult("A");
\r
1329 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "1-3");
\r
1331 InjectMapNext(21, 4);
\r
1332 InjectBattleResult("A");
\r
1333 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "ボス以外はカウントしない");
\r
1335 _battleInfo.Result.Friend.Main[0] = ShipStatus(2);
\r
1336 _battleInfo.Result.Friend.Main[1] = ShipStatus("明石");
\r
1337 InjectMapNext(21, 5);
\r
1338 InjectBattleResult("A");
\r
1339 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0, 0}), "旗艦明石以外はカウントしない");
\r
1341 _battleInfo.Result.Friend.Main[0] = ShipStatus("明石");
\r
1342 _battleInfo.Result.Friend.Main[1] = ShipStatus(2);
\r
1343 InjectBattleResult("A");
\r
1344 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0, 0}), "2-1");
\r
1346 InjectMapNext(22, 5);
\r
1347 InjectBattleResult("A");
\r
1348 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0, 0}), "2-2");
\r
1350 InjectMapNext(23, 5);
\r
1351 InjectBattleResult("A");
\r
1352 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 0}), "2-3");
\r
1354 InjectMapNext(16, 8);
\r
1355 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 1}), "1-6");
\r
1362 public void BattleResult_914()
\r
1364 var count = InjectQuest(914);
\r
1365 _battleInfo.InjectResultStatus(
\r
1366 new[] {ShipStatus(5), ShipStatus(5), ShipStatus(5), ShipStatus(1)},
\r
1367 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1369 InjectMapNext(41, 5);
\r
1370 InjectBattleResult("A");
\r
1371 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "駆逐艦なしはカウントしない");
\r
1373 _battleInfo.Result.Friend.Main[3] = ShipStatus(2);
\r
1374 InjectBattleResult("B");
\r
1375 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0, 0}), "B勝利はカウントしない");
\r
1377 InjectBattleResult("A");
\r
1378 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "4-1");
\r
1380 InjectMapNext(42, 4);
\r
1381 InjectBattleResult("A");
\r
1382 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "ボス以外はカウントしない");
\r
1384 InjectMapNext(42, 5);
\r
1385 _battleInfo.Result.Friend.Main[0] = ShipStatus(6);
\r
1386 InjectBattleResult("A");
\r
1387 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0, 0}), "重巡2隻はカウントしない");
\r
1389 _battleInfo.Result.Friend.Main[0] = ShipStatus(5);
\r
1390 InjectBattleResult("A");
\r
1391 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0, 0}), "4-2");
\r
1393 InjectMapNext(43, 5);
\r
1394 InjectBattleResult("A");
\r
1395 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}), "4-3");
\r
1397 InjectMapNext(44, 5);
\r
1398 InjectBattleResult("A");
\r
1399 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}), "4-3");
\r
1403 /// 928: 歴戦「第十方面艦隊」、全力出撃!
\r
1406 public void BattleResult_928()
\r
1408 var count = InjectQuest(928);
\r
1409 _battleInfo.InjectResultStatus(
\r
1412 ShipStatus("羽黒改二"), ShipStatus("那智"), ShipStatus(1), ShipStatus(1), ShipStatus(1), ShipStatus(1)
\r
1414 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1416 InjectMapNext(732, 5);
\r
1417 InjectBattleResult("S");
\r
1418 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0}));
\r
1420 _battleInfo.Result.Friend.Main[1] = ShipStatus("妙高");
\r
1421 InjectBattleResult("A");
\r
1422 PAssert.That(() => count.NowArray.SequenceEqual(new[] {0, 0, 0}));
\r
1423 InjectBattleResult("S");
\r
1424 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 0, 0}));
\r
1426 _battleInfo.Result.Friend.Main[0] = ShipStatus("妙高");
\r
1427 _battleInfo.Result.Friend.Main[1] = ShipStatus("高雄");
\r
1428 InjectMapNext(722, 5);
\r
1429 InjectBattleResult("S");
\r
1430 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 0}));
\r
1432 _battleInfo.Result.Friend.Main[0] = ShipStatus("神風");
\r
1433 _battleInfo.Result.Friend.Main[1] = ShipStatus("高雄");
\r
1434 InjectMapNext(42, 5);
\r
1435 InjectBattleResult("S");
\r
1436 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1}));
\r
1440 /// 280と854以降を同時に遂行していると854以降がカウントされないことがある
\r
1443 public void BattleResult_280_854()
\r
1445 InjectQuestList(new[] {280, 854});
\r
1447 _battleInfo.InjectResultStatus(
\r
1448 ShipStatusList(1, 1, 1, 1, 1, 1), new ShipStatus[0],
\r
1449 new ShipStatus[0], new ShipStatus[0]);
\r
1451 InjectMapNext(24, 5);
\r
1452 InjectBattleResult("S");
\r
1453 Assert.AreEqual(1, _questInfo.Quests[1].Count.NowArray[0]);
\r
1457 /// 888と893以降を同時に遂行していると893以降がカウントされないことがある
\r
1460 public void BattleResult_888_893()
\r
1462 InjectQuestList(new[] {888, 893});
\r
1464 _battleInfo.InjectResultStatus(
\r
1465 ShipStatusList(1, 1, 1, 1, 1, 1), new ShipStatus[0],
\r
1466 new ShipStatus[0], new ShipStatus[0]);
\r
1468 InjectMapNext(71, 5);
\r
1469 InjectBattleResult("S");
\r
1470 Assert.AreEqual(1, _questInfo.Quests[1].Count.NowArray[1]);
\r
1475 /// 303: 「演習」で練度向上!
\r
1476 /// 304: 「演習」で他提督を圧倒せよ!
\r
1481 public void PracticeResult_303_304_302_311_315()
\r
1483 InjectQuestList(new[] {302, 303, 304, 311, 315});
\r
1485 _battleInfo.InjectResultStatus(new[]
\r
1487 ShipStatus(2, 543), ShipStatus(3, 488)
\r
1488 }, new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1489 InjectPracticeResult("C");
\r
1490 InjectPracticeResult("A");
\r
1491 PAssert.That(() =>
\r
1492 _questInfo.Quests.Select(q => new {q.Id, q.Count.Now})
\r
1493 .SequenceEqual(new[]
\r
1495 new {Id = 302, Now = 1}, new {Id = 303, Now = 2}, new {Id = 304, Now = 1},
\r
1496 new {Id = 311, Now = 1}, new {Id = 315, Now = 1}
\r
1501 /// 318: 給糧艦「伊良湖」の支援
\r
1504 public void PracticeResult_318()
\r
1506 var count = InjectQuest(318);
\r
1508 _battleInfo.InjectResultStatus(new[]
\r
1510 ShipStatus(2, 543), ShipStatus(3, 488)
\r
1511 }, new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1513 InjectPracticeResult("B");
\r
1514 Assert.AreEqual(0, count.Now, "軽巡1隻");
\r
1515 _battleInfo.Result.Friend.Main[0] = ShipStatus(3, 200);
\r
1516 _questCounter.StartPractice("api%5Fdeck%5Fid=2");
\r
1517 InjectPracticeResult("B");
\r
1518 Assert.AreEqual(0, count.Now, "第2艦隊");
\r
1519 _questCounter.StartPractice("api%5Fdeck%5Fid=1"); // 第一艦隊
\r
1520 InjectPracticeResult("C");
\r
1521 Assert.AreEqual(0, count.Now, "敗北");
\r
1522 InjectPracticeResult("B");
\r
1523 Assert.AreEqual(1, count.Now);
\r
1526 InjectQuestList(new[] {318});
\r
1527 Assert.AreEqual(2, count.Now, "進捗調節しない");
\r
1531 /// 329: 【節分任務】節分演習!
\r
1534 public void PracticeResult_329()
\r
1536 var count = InjectQuest(329);
\r
1538 _battleInfo.InjectResultStatus(
\r
1539 ShipStatusList(3, 2),
\r
1540 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1541 InjectPracticeResult("S");
\r
1542 Assert.AreEqual(0, count.Now, "軽巡、駆逐");
\r
1544 _battleInfo.Result.Friend.Main = ShipStatusList(3, 2, 1);
\r
1545 InjectPracticeResult("A");
\r
1546 Assert.AreEqual(0, count.Now, "A勝利でカウントしない");
\r
1548 _battleInfo.Result.Friend.Main = ShipStatusList(3, 2, 1);
\r
1549 InjectPracticeResult("S");
\r
1550 Assert.AreEqual(1, count.Now, "軽巡、駆逐、海防");
\r
1554 /// 330: 空母機動部隊、演習始め!
\r
1557 public void PracticeResult_330()
\r
1559 var count = InjectQuest(330);
\r
1561 _battleInfo.InjectResultStatus(
\r
1562 ShipStatusList(18, 7, 2, 2),
\r
1563 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1564 InjectPracticeResult("B");
\r
1565 Assert.AreEqual(0, count.Now, "B勝利でカウントしない");
\r
1567 InjectPracticeResult("A");
\r
1568 Assert.AreEqual(1, count.Now, "装甲空母、軽空母");
\r
1570 _battleInfo.Result.Friend.Main = ShipStatusList(11, 7, 2, 2);
\r
1571 InjectPracticeResult("A");
\r
1572 Assert.AreEqual(2, count.Now, "正規空母、軽空母");
\r
1575 InjectPracticeResult("C");
\r
1576 Assert.AreEqual(0, count.Now, "敗北");
\r
1578 _battleInfo.Result.Friend.Main = ShipStatusList(2, 7, 11, 2);
\r
1579 InjectPracticeResult("A");
\r
1580 Assert.AreEqual(0, count.Now, "旗艦空母以外");
\r
1582 _battleInfo.Result.Friend.Main = ShipStatusList(11, 2, 2, 2);
\r
1583 InjectPracticeResult("A");
\r
1584 Assert.AreEqual(0, count.Now, "空母一隻");
\r
1586 _battleInfo.Result.Friend.Main = ShipStatusList(11, 7, 3, 2);
\r
1587 InjectPracticeResult("A");
\r
1588 Assert.AreEqual(0, count.Now, "駆逐一隻");
\r
1595 public void PracticeResult_337()
\r
1597 var count = InjectQuest(337);
\r
1599 _battleInfo.InjectResultStatus(new[]
\r
1601 ShipStatus("霰"), ShipStatus("霰"),
\r
1602 ShipStatus("陽炎"), ShipStatus("不知火"),
\r
1604 }, new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1605 InjectPracticeResult("A");
\r
1606 Assert.AreEqual(0, count.Now, "A");
\r
1607 InjectPracticeResult("S");
\r
1608 Assert.AreEqual(1, count.Now);
\r
1609 _battleInfo.Result.Friend.Main[0] = ShipStatus("涼風");
\r
1610 InjectPracticeResult("S");
\r
1611 Assert.AreEqual(1, count.Now, "霰→涼風");
\r
1612 _battleInfo.Result.Friend.Main[4] = ShipStatus("霞改二");
\r
1613 InjectPracticeResult("S");
\r
1614 Assert.AreEqual(2, count.Now, "黒潮→霞改二");
\r
1621 public void PracticeResult_339()
\r
1623 var count = InjectQuest(339);
\r
1625 _battleInfo.InjectResultStatus(new[]
\r
1627 ShipStatus("磯波"), ShipStatus("浦波"),
\r
1628 ShipStatus("綾波"), ShipStatus("敷波"),
\r
1630 }, new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1631 InjectPracticeResult("A");
\r
1632 Assert.AreEqual(0, count.Now, "A");
\r
1633 InjectPracticeResult("S");
\r
1634 Assert.AreEqual(1, count.Now);
\r
1635 _battleInfo.Result.Friend.Main[0] = ShipStatus("深雪");
\r
1636 InjectPracticeResult("S");
\r
1637 Assert.AreEqual(1, count.Now, "磯波→深雪");
\r
1641 /// 342: 小艦艇群演習強化任務
\r
1644 public void PracticeResult_342()
\r
1646 var count = InjectQuest(342);
\r
1648 _battleInfo.InjectResultStatus(new[] {ShipStatus(1), ShipStatus(1), ShipStatus(2), ShipStatus(5)},
\r
1649 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1650 InjectPracticeResult("A");
\r
1651 Assert.AreEqual(0, count.Now);
\r
1653 InjectPracticeResult("B");
\r
1654 Assert.AreEqual(0, count.Now);
\r
1656 _battleInfo.Result.Friend.Main[3] = ShipStatus(2);
\r
1657 InjectPracticeResult("A");
\r
1658 Assert.AreEqual(1, count.Now);
\r
1660 _battleInfo.Result.Friend.Main[3] = ShipStatus(3);
\r
1661 InjectPracticeResult("A");
\r
1662 Assert.AreEqual(2, count.Now);
\r
1664 _battleInfo.Result.Friend.Main[3] = ShipStatus(4);
\r
1665 InjectPracticeResult("A");
\r
1666 Assert.AreEqual(3, count.Now);
\r
1668 _battleInfo.Result.Friend.Main[3] = ShipStatus(21);
\r
1669 InjectPracticeResult("A");
\r
1670 Assert.AreEqual(4, count.Now);
\r
1674 /// 345: 演習ティータイム!
\r
1677 public void PracticeResult_345()
\r
1679 var count = InjectQuest(345);
\r
1681 _battleInfo.InjectResultStatus(
\r
1684 ShipStatus("Warspite"), ShipStatus("金剛"), ShipStatus("Ark Royal"), ShipStatus("Richelieu"),
\r
1685 ShipStatus("Perth")
\r
1687 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1688 InjectPracticeResult("B");
\r
1689 Assert.AreEqual(0, count.Now);
\r
1691 InjectPracticeResult("A");
\r
1692 Assert.AreEqual(0, count.Now);
\r
1694 _battleInfo.Result.Friend.Main[3] = ShipStatus("Jervis");
\r
1695 InjectPracticeResult("A");
\r
1696 Assert.AreEqual(1, count.Now);
\r
1698 _battleInfo.Result.Friend.Main[0] = ShipStatus("Janus");
\r
1699 InjectPracticeResult("A");
\r
1700 Assert.AreEqual(2, count.Now);
\r
1702 _battleInfo.Result.Friend.Main[1] = ShipStatus("Richelieu");
\r
1703 InjectPracticeResult("A");
\r
1704 Assert.AreEqual(2, count.Now);
\r
1708 /// 346: 最精鋭!主力オブ主力、演習開始!
\r
1711 public void PracticeResult_346()
\r
1713 var count = InjectQuest(346);
\r
1715 _battleInfo.InjectResultStatus(
\r
1716 new[] {ShipStatus("夕雲改二"), ShipStatus("巻雲改二"), ShipStatus("風雲改二"), ShipStatus("秋雲改")},
\r
1717 new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);
\r
1718 InjectPracticeResult("A");
\r
1719 Assert.AreEqual(0, count.Now);
\r
1721 InjectPracticeResult("S");
\r
1722 Assert.AreEqual(0, count.Now);
\r
1724 _battleInfo.Result.Friend.Main[3] = ShipStatus("秋雲改二");
\r
1725 InjectPracticeResult("S");
\r
1726 Assert.AreEqual(1, count.Now);
\r
1728 _battleInfo.Result.Friend.Main[0] = ShipStatus("綾波改二");
\r
1729 InjectPracticeResult("S");
\r
1730 Assert.AreEqual(1, count.Now);
\r
1734 /// 402: 「遠征」を3回成功させよう!
\r
1735 /// 403: 「遠征」を10回成功させよう!
\r
1736 /// 404: 大規模遠征作戦、発令!
\r
1737 /// 410: 南方への輸送作戦を成功させよ!
\r
1738 /// 411: 南方への鼠輸送を継続実施せよ!
\r
1741 public void MissionResult_402_403_404_410_411()
\r
1743 InjectQuestList(new[] {402, 403, 404, 410, 411});
\r
1745 _questCounter.InspectDeck(Js(
\r
1748 new {api_id = 2, api_mission = new[] {2, 6}},
\r
1749 new {api_id = 3, api_mission = new[] {2, 37}},
\r
1750 new {api_id = 4, api_mission = new[] {2, 2}}
\r
1752 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1753 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 2}));
\r
1754 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 0}));
\r
1755 PAssert.That(() =>
\r
1756 _questInfo.Quests.Select(q => new {q.Id, q.Count.Now})
\r
1757 .SequenceEqual(new[]
\r
1759 new {Id = 402, Now = 2}, new {Id = 403, Now = 2}, new {Id = 404, Now = 2},
\r
1760 new {Id = 410, Now = 1}, new {Id = 411, Now = 1}
\r
1765 /// 426: 海上通商航路の警戒を厳とせよ!
\r
1768 public void MissionResult_426()
\r
1770 var count = InjectQuest(426);
\r
1772 _questCounter.InspectDeck(Js(
\r
1775 new {api_id = 2, api_mission = new[] {2, 3}},
\r
1776 new {api_id = 3, api_mission = new[] {2, 4}},
\r
1777 new {api_id = 4, api_mission = new[] {2, 5}}
\r
1779 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1780 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1781 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));
\r
1782 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}));
\r
1783 _questCounter.InspectDeck(Js(
\r
1786 new {api_id = 2, api_mission = new[] {2, 10}}
\r
1788 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1789 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
1793 /// 428: 近海に侵入する敵潜を制圧せよ!
\r
1796 public void MissionResult_428()
\r
1798 var count = InjectQuest(428);
\r
1800 _questCounter.InspectDeck(Js(
\r
1803 new {api_id = 2, api_mission = new[] {2, 4}},
\r
1804 new {api_id = 3, api_mission = new[] {2, 101}},
\r
1805 new {api_id = 4, api_mission = new[] {2, 102}}
\r
1807 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1808 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1809 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));
\r
1810 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1}));
\r
1814 /// 434: 特設護衛船団司令部、活動開始!
\r
1817 public void MissionResult_434()
\r
1819 var count = InjectQuest(434);
\r
1821 _questCounter.InspectDeck(Js(
\r
1824 new {api_id = 2, api_mission = new[] {2, 3}},
\r
1825 new {api_id = 3, api_mission = new[] {2, 5}},
\r
1826 new {api_id = 4, api_mission = new[] {2, 100}}
\r
1828 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1829 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1830 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));
\r
1831 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0, 0}));
\r
1833 _questCounter.InspectDeck(Js(
\r
1836 new {api_id = 2, api_mission = new[] {2, 101}},
\r
1837 new {api_id = 3, api_mission = new[] {2, 9}}
\r
1839 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1840 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1841 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 1}));
\r
1845 /// 436: 練習航海及び警備任務を実施せよ!
\r
1848 public void MissionResult_436()
\r
1850 var count = InjectQuest(436);
\r
1852 _questCounter.InspectDeck(Js(
\r
1855 new {api_id = 2, api_mission = new[] {2, 1}},
\r
1856 new {api_id = 3, api_mission = new[] {2, 2}},
\r
1857 new {api_id = 4, api_mission = new[] {2, 3}}
\r
1859 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1860 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1861 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));
\r
1862 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0, 0}));
\r
1864 _questCounter.InspectDeck(Js(
\r
1867 new {api_id = 2, api_mission = new[] {2, 4}},
\r
1868 new {api_id = 3, api_mission = new[] {2, 10}}
\r
1870 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1871 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1872 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 1}));
\r
1876 /// 437: 小笠原沖哨戒線の強化を実施せよ!
\r
1879 public void MissionResult_437()
\r
1881 var count = InjectQuest(437);
\r
1883 _questCounter.InspectDeck(Js(
\r
1886 new {api_id = 2, api_mission = new[] {2, 4}},
\r
1887 new {api_id = 3, api_mission = new[] {2, 104}},
\r
1888 new {api_id = 4, api_mission = new[] {2, 105}}
\r
1890 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1891 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1892 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));
\r
1893 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}));
\r
1895 _questCounter.InspectDeck(Js(
\r
1898 new {api_id = 2, api_mission = new[] {2, 110}}
\r
1900 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1901 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
1905 /// 438: 南西諸島方面の海上護衛を強化せよ!
\r
1908 public void MissionResult_438()
\r
1910 var count = InjectQuest(438);
\r
1912 _questCounter.InspectDeck(Js(
\r
1915 new {api_id = 2, api_mission = new[] {2, 4}},
\r
1916 new {api_id = 3, api_mission = new[] {2, 100}},
\r
1917 new {api_id = 4, api_mission = new[] {2, 9}}
\r
1919 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1920 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1921 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));
\r
1922 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}));
\r
1924 _questCounter.InspectDeck(Js(
\r
1927 new {api_id = 2, api_mission = new[] {2, 114}}
\r
1929 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1930 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
1934 /// 439: 兵站強化遠征任務【基本作戦】
\r
1937 public void MissionResult_439()
\r
1939 var count = InjectQuest(439);
\r
1941 _questCounter.InspectDeck(Js(
\r
1944 new {api_id = 2, api_mission = new[] {2, 5}},
\r
1945 new {api_id = 3, api_mission = new[] {2, 100}},
\r
1946 new {api_id = 4, api_mission = new[] {2, 11}}
\r
1948 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1949 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1950 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));
\r
1951 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}));
\r
1953 _questCounter.InspectDeck(Js(
\r
1956 new {api_id = 2, api_mission = new[] {2, 110}}
\r
1958 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1959 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));
\r
1963 /// 440: 兵站強化遠征任務【拡張作戦】
\r
1966 public void MissionResult_440()
\r
1968 var count = InjectQuest(440);
\r
1970 _questCounter.InspectDeck(Js(
\r
1973 new {api_id = 2, api_mission = new[] {2, 41}},
\r
1974 new {api_id = 3, api_mission = new[] {2, 5}},
\r
1975 new {api_id = 4, api_mission = new[] {2, 40}}
\r
1977 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1978 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1979 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));
\r
1980 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0, 0}));
\r
1982 _questCounter.InspectDeck(Js(
\r
1985 new {api_id = 2, api_mission = new[] {2, 142}},
\r
1986 new {api_id = 3, api_mission = new[] {2, 46}}
\r
1988 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));
\r
1989 _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));
\r
1990 PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1, 1}));
\r
1998 public void PowerUp_503_504()
\r
2000 InjectQuestList(new[] {503, 504});
\r
2002 _questCounter.CountNyukyo();
\r
2003 _questCounter.CountCharge();
\r
2004 PAssert.That(() =>
\r
2005 _questInfo.Quests.Select(q => new {q.Id, q.Count.Now})
\r
2006 .SequenceEqual(new[] {new {Id = 503, Now = 1}, new {Id = 504, Now = 1}}));
\r
2010 /// 605: 新装備「開発」指令
\r
2011 /// 606: 新造艦「建造」指令
\r
2012 /// 607: 装備「開発」集中強化!
\r
2013 /// 608: 艦娘「建造」艦隊強化!
\r
2018 public void Kousyou_605_606_607_608_609_619()
\r
2020 InjectQuestList(new[] {605, 606, 607, 608, 609, 619});
\r
2022 _questCounter.InspectCreateItem(
\r
2023 "api_verno=1&api_item1=10&api_item2=10&api_item3=30&api_item4=10&api_multiple_flag=0");
\r
2024 _questCounter.InspectCreateItem(
\r
2025 "api_verno=1&api_item1=10&api_item2=10&api_item3=30&api_item4=10&api_multiple_flag=1");
\r
2026 _questCounter.CountCreateShip();
\r
2027 _questCounter.InspectDestroyShip("api%5Fship%5Fid=98159%2C98166%2C98168&api%5Fverno=1");
\r
2028 _questCounter.CountRemodelSlot();
\r
2029 PAssert.That(() =>
\r
2030 _questInfo.Quests.Select(q => new {q.Id, q.Count.Now})
\r
2031 .SequenceEqual(new[]
\r
2033 new {Id = 605, Now = 4}, new {Id = 606, Now = 1}, new {Id = 607, Now = 4},
\r
2034 new {Id = 608, Now = 1}, new {Id = 609, Now = 3}, new {Id = 619, Now = 1}
\r
2041 /// 643: 主力「陸攻」の調達
\r
2042 /// 645: 「洋上補給」物資の調達
\r
2043 /// 653: 工廠稼働!次期作戦準備!
\r
2044 /// 654: 精鋭複葉機飛行隊の編成
\r
2045 /// 657: 新型兵装開発整備の強化
\r
2046 /// 663: 新型艤装の継続研究
\r
2049 /// 675: 運用装備の統合整備
\r
2050 /// 676: 装備開発力の集中整備
\r
2051 /// 677: 継戦支援能力の整備
\r
2052 /// 678: 主力艦上戦闘機の更新
\r
2053 /// 680: 対空兵装の整備拡充
\r
2054 /// 681: 航空戦力の再編増強準備
\r
2058 public void DestroyItem_613_638_643_645_653_654_655_657_663_673_674_675_676_677_678_680_681_686_688()
\r
2062 new ItemSpec {Id = 1, Name = "12cm単装砲", Type = 1},
\r
2063 new ItemSpec {Id = 37, Name = "7.7mm機銃", Type = 21},
\r
2064 new ItemSpec {Id = 19, Name = "九六式艦戦", Type = 6},
\r
2065 new ItemSpec {Id = 4, Name = "14cm単装砲", Type = 2},
\r
2066 new ItemSpec {Id = 11, Name = "15.2cm単装砲", Type = 4},
\r
2067 new ItemSpec {Id = 75, Name = "ドラム缶(輸送用)", Type = 30},
\r
2068 new ItemSpec {Id = 7, Name = "35.6cm連装砲", Type = 3},
\r
2069 new ItemSpec {Id = 25, Name = "零式水上偵察機", Type = 10},
\r
2070 new ItemSpec {Id = 13, Name = "61cm三連装魚雷", Type = 5},
\r
2071 new ItemSpec {Id = 20, Name = "零式艦戦21型", Type = 6},
\r
2072 new ItemSpec {Id = 28, Name = "22号水上電探", Type = 12},
\r
2073 new ItemSpec {Id = 31, Name = "32号水上電探", Type = 13},
\r
2074 new ItemSpec {Id = 35, Name = "三式弾", Type = 18},
\r
2075 new ItemSpec {Id = 23, Name = "九九式艦爆", Type = 7},
\r
2076 new ItemSpec {Id = 16, Name = "九七式艦攻", Type = 8},
\r
2077 new ItemSpec {Id = 3, Name = "10cm連装高角砲", Type = 1},
\r
2078 new ItemSpec {Id = 121, Name = "94式高射装置", Type = 36},
\r
2079 new ItemSpec {Id = 242, Name = "Swordfish", Type = 8},
\r
2080 new ItemSpec {Id = 249, Name = "Fulmar", Type = 6}
\r
2082 var questList = new[]
\r
2083 {613, 638, 643, 645, 655, 653, 654, 657, 663, 673, 674, 675, 676, 677, 678, 680, 681, 686, 688};
\r
2084 InjectQuestList(questList);
\r
2085 _questCounter.InspectDestroyItem(
\r
2086 $"api%5Fslotitem%5Fids={string.Join("%2C", Enumerable.Range(1, _itemInventory.Count))}&api%5Fverno=1");
\r
2087 var scalar = new[]
\r
2089 new {Id = 613, Now = 1}, new {Id = 638, Now = 1}, new {Id = 643, Now = 1}, new {Id = 645, Now = 1},
\r
2090 new {Id = 653, Now = 1}, new {Id = 663, Now = 1}, new {Id = 673, Now = 2}, new {Id = 674, Now = 1}
\r
2092 foreach (var e in scalar)
\r
2094 var c = Array.Find(_questInfo.Quests, q => q.Id == e.Id).Count;
\r
2095 Assert.AreEqual(e.Id, c.Id);
\r
2096 Assert.AreEqual(e.Now, c.Now, $"{c.Id}");
\r
2100 new {Id = 654, NowArray = new[] {1, 1}}, new {Id = 655, NowArray = new[] {2, 1, 1, 1, 2}},
\r
2101 new {Id = 657, NowArray = new[] {2, 1, 1}},
\r
2102 new {Id = 675, NowArray = new[] {3, 1}}, new {Id = 676, NowArray = new[] {1, 1, 1}},
\r
2103 new {Id = 677, NowArray = new[] {1, 1, 1}}, new {Id = 678, NowArray = new[] {1, 1}},
\r
2104 new {Id = 680, NowArray = new[] {1, 2}}, new {Id = 686, NowArray = new[] {1, 1}},
\r
2105 new {Id = 681, NowArray = new[] {1, 2}},
\r
2106 new {Id = 688, NowArray = new[] {3, 1, 2, 1}}
\r
2108 foreach (var e in array)
\r
2110 var c = Array.Find(_questInfo.Quests, q => q.Id == e.Id).Count;
\r
2111 Assert.AreEqual(e.Id, c.Id);
\r
2112 PAssert.That(() => c.NowArray.SequenceEqual(e.NowArray), $"{c.Id}");
\r
2116 private void InjectItems(IEnumerable<ItemSpec> specs)
\r
2118 _itemInventory.Add(specs.Select((s, i) => new ItemStatus {Id = i + 1, Spec = s}));
\r
2122 /// 702: 艦の「近代化改修」を実施せよ!
\r
2123 /// 703: 「近代化改修」を進め、戦備を整えよ!
\r
2126 public void PowerUp_702_703()
\r
2128 InjectQuestList(new[] {702, 703});
\r
2129 _questCounter.InspectPowerUp("", Js(new {api_powerup_flag = 1}));
\r
2130 PAssert.That(() =>
\r
2131 _questInfo.Quests.Select(q => new {q.Id, q.Count.Now})
\r
2132 .SequenceEqual(new[] {new {Id = 702, Now = 1}, new {Id = 703, Now = 1}}));
\r
2136 /// 714: 「駆逐艦」の改修工事を実施せよ!
\r
2137 /// 715: 続:「駆逐艦」の改修工事を実施せよ!
\r
2140 public void PowerUp_714_715()
\r
2144 ShipStatus(2), ShipStatus(2), ShipStatus(2), ShipStatus(2),
\r
2145 ShipStatus(3), ShipStatus(3), ShipStatus(3), ShipStatus(3)
\r
2147 _shipInventory.Add(ships.Select((s, i) =>
\r
2153 var q714 = InjectQuest(714);
\r
2154 _questCounter.InspectPowerUp("api_id=3&api_id_items=1,2", Js(new {api_powerup_flag = 1}));
\r
2155 Assert.AreEqual(0, q714.Now);
\r
2156 _questCounter.InspectPowerUp("api_id=5&api_id_items=1,2,3", Js(new {api_powerup_flag = 1}));
\r
2157 Assert.AreEqual(0, q714.Now);
\r
2158 _questCounter.InspectPowerUp("api_id=4&api_id_items=1,2,3", Js(new {api_powerup_flag = 1}));
\r
2159 Assert.AreEqual(1, q714.Now);
\r
2161 var q715 = InjectQuest(715);
\r
2162 _questCounter.InspectPowerUp("api_id=4&api_id_items=1,2,3", Js(new {api_powerup_flag = 1}));
\r
2163 Assert.AreEqual(0, q715.Now);
\r
2164 _questCounter.InspectPowerUp("api_id=4&api_id_items=5,6,7", Js(new {api_powerup_flag = 1}));
\r
2165 Assert.AreEqual(1, q715.Now);
\r