}\r
\r
/// <summary>\r
+ /// 437: 小笠原沖哨戒線の強化を実施せよ!\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void MissionResult_437()\r
+ {\r
+ var count = InjectQuest(437);\r
+\r
+ _questCounter.InspectDeck(Js(\r
+ new[]\r
+ {\r
+ new {api_id = 2, api_mission = new[] {2, 4}},\r
+ new {api_id = 3, api_mission = new[] {2, 104}},\r
+ new {api_id = 4, api_mission = new[] {2, 105}}\r
+ }));\r
+ _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));\r
+ _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new {api_clear_result = 1}));\r
+ _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new {api_clear_result = 1}));\r
+ PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 0}));\r
+\r
+ _questCounter.InspectDeck(Js(\r
+ new[]\r
+ {\r
+ new {api_id = 2, api_mission = new[] {2, 110}}\r
+ }));\r
+ _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new {api_clear_result = 1}));\r
+ PAssert.That(() => count.NowArray.SequenceEqual(new[] {1, 1, 1, 1}));\r
+ }\r
+\r
+ /// <summary>\r
/// 503: 艦隊大整備!\r
/// 504: 艦隊酒保祭り!\r
/// </summary>\r
{\r
new DateTime(2017, 11, 1, 5, 0, 0), new DateTime(2017, 11, 6, 5, 0, 0),\r
new DateTime(2017, 12, 1, 5, 0, 0), new DateTime(2018, 2, 1, 5, 0, 0),\r
- new DateTime(2018, 3, 1, 5, 0, 0),\r
+ new DateTime(2018, 3, 1, 5, 0, 0), new DateTime(2018, 5, 1, 5, 0, 0)\r
});\r
var questInfo = new QuestInfo(() => queue.Dequeue());\r
var status = new Status\r
new QuestCount {Id = 201, Now = 1}, new QuestCount {Id = 213, Now = 1},\r
new QuestCount {Id = 265, Now = 1},\r
new QuestCount {Id = 436, NowArray = new[] {1, 1, 1, 1, 0}},\r
+ new QuestCount {Id = 437, NowArray = new[] {1, 1, 1, 1}},\r
new QuestCount {Id = 822, Now = 1},\r
- new QuestCount {Id = 904, NowArray = new[] {1, 1, 1, 1}}},\r
+ new QuestCount {Id = 904, NowArray = new[] {1, 1, 1, 1}}\r
+ },\r
QuestLastReset = new DateTime(2017, 10, 31, 5, 0, 0)\r
};\r
questInfo.LoadState(status);\r
+ CheckQuestCountList(questInfo, status, new[] {213, 436, 437, 822, 904}); // デイリーとマンスリーが消える\r
+ CheckQuestCountList(questInfo, status, new[] {436, 437, 822, 904}); // ウィークリーが消える\r
+ CheckQuestCountList(questInfo, status, new[] {436, 437, 904}); // クォータリーが消える\r
+ CheckQuestCountList(questInfo, status, new[] {436, 437}); // イヤーリー2月が消える\r
+ CheckQuestCountList(questInfo, status, new[] {437}); // イヤーリー3月が消える\r
+ CheckQuestCountList(questInfo, status, new int[0]); // イヤーリー5月が消える\r
+ }\r
+\r
+ private void CheckQuestCountList(QuestInfo questInfo, Status status, int[] quests)\r
+ {\r
questInfo.InspectQuestList(CreateQuestList(new[] {201}));\r
questInfo.SaveState(status);\r
- PAssert.That(() =>\r
- status.QuestCountList.Select(qc => qc.Id).SequenceEqual(new[] {213, 436, 822, 904})); // デイリーとマンスリーが消える\r
- questInfo.InspectQuestList(CreateQuestList(new[] {201}));\r
- questInfo.SaveState(status);\r
- PAssert.That(() =>\r
- status.QuestCountList.Select(qc => qc.Id).SequenceEqual(new[] {436, 822, 904})); // ウィークリーが消える\r
- questInfo.InspectQuestList(CreateQuestList(new[] {201}));\r
- questInfo.SaveState(status);\r
- PAssert.That(() => status.QuestCountList.Select(qc => qc.Id).SequenceEqual(new[] {436, 904})); // クォータリーが消える\r
- questInfo.InspectQuestList(CreateQuestList(new[] {201}));\r
- questInfo.SaveState(status);\r
- PAssert.That(() => status.QuestCountList.Select(qc => qc.Id).SequenceEqual(new[] {436})); // イヤーリー2月が消える\r
- questInfo.InspectQuestList(CreateQuestList(new[] {201}));\r
- questInfo.SaveState(status);\r
- PAssert.That(() => status.QuestCountList.Length == 0); // イヤーリー3月が消える\r
+ PAssert.That(() => status.QuestCountList.Select(qc => qc.Id).SequenceEqual(quests));\r
}\r
\r
[TestMethod]\r
private const QuestInterval Quarterly = QuestInterval.Quarterly;\r
private const QuestInterval Yearly2 = QuestInterval.Yearly2;\r
private const QuestInterval Yearly3 = QuestInterval.Yearly3;\r
+ private const QuestInterval Yearly5 = QuestInterval.Yearly5;\r
\r
/// <summary>\r
/// このテーブルは七四式電子観測儀を参考に作成した。\r
{426, new QuestMission {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Ids = new[] {3, 4, 5, 10}, Material = new[] {0, 0, 4, 0}}}, // 426: 海上通商航路の警戒を厳とせよ!\r
{428, new QuestMission {Interval = Quarterly, MaxArray = new[] {2, 2, 2}, Ids = new[] {4, 101, 102}, Material = new[] {0, 0, 0, 3}}}, // 428: 近海に侵入する敵潜を制圧せよ!\r
{436, new QuestMission {Interval = Yearly3, MaxArray = new[] {1, 1, 1, 1, 1}, Ids = new[] {1, 2, 3, 4, 10}, Material = new [] {0, 4, 0, 0}}}, // 436: 練習航海及び警備任務を実施せよ!\r
+ {437, new QuestMission {Interval = Yearly5, MaxArray = new[] {1, 1, 1, 1}, Ids = new[] {4, 104, 105, 110}, Material = new [] {0, 0, 7, 3}, Shift = 1}}, // 437: 小笠原沖哨戒線の強化を実施せよ!\r
\r
{503, new QuestSpec {Interval = Daily, Max = 5, Material = new[] {0, 2, 0, 0}}}, // 503: 艦隊大整備!\r
{504, new QuestSpec {Interval = Daily, Max = 15, Material = new[] {1, 0, 1, 0}}}, // 504: 艦隊酒保祭り!\r