}\r
\r
/// <summary>\r
+ /// 航空戦の結果を処理する\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void AirBattleResult()\r
+ {\r
+ var sniffer1 = new Sniffer();\r
+ SniffLogFile(sniffer1, "battle_001");\r
+ PAssert.That(() => sniffer1.Battle.AirBattleResults.Count == 0);\r
+\r
+ var sniffer2 = new Sniffer();\r
+ SniffLogFile(sniffer2, "ec_battle_001");\r
+ PAssert.That(() => sniffer2.Battle.AirBattleResults.Count == 4);\r
+\r
+ var sniffer3 = new Sniffer();\r
+ SniffLogFile(sniffer3, "battle_007");\r
+ PAssert.That(() => sniffer3.Battle.AirBattleResults.Count == 1, "stage2がない場合");\r
+ }\r
+\r
+ /// <summary>\r
/// 2-5をクリアしたときの特別戦果を反映する\r
/// </summary>\r
[TestMethod]\r
\r
private void AddAirBattleResult(dynamic json, string phaseName)\r
{\r
- if (json.api_stage1 == null || json.api_stage2 == null)\r
+ var stage1 = json.api_stage1;\r
+ if (stage1 == null || (stage1.api_f_count == 0 && stage1.api_e_count == 0))\r
return;\r
AirBattleResults.Add(new AirBattleResult\r
{\r
EnemyCount = (int)json.api_stage1.api_e_count,\r
EnemyLost = (int)json.api_stage1.api_e_lostcount\r
},\r
- Stage2 = new AirBattleResult.StageResult\r
- {\r
- FriendCount = (int)json.api_stage2.api_f_count,\r
- FriendLost = (int)json.api_stage2.api_f_lostcount,\r
- EnemyCount = (int)json.api_stage2.api_e_count,\r
- EnemyLost = (int)json.api_stage2.api_e_lostcount\r
- }\r
+ Stage2 = json.api_stage2 == null\r
+ ? new AirBattleResult.StageResult\r
+ {\r
+ FriendCount = 0,\r
+ FriendLost = 0,\r
+ EnemyCount = 0,\r
+ EnemyLost = 0\r
+ }\r
+ : new AirBattleResult.StageResult\r
+ {\r
+ FriendCount = (int)json.api_stage2.api_f_count,\r
+ FriendLost = (int)json.api_stage2.api_f_lostcount,\r
+ EnemyCount = (int)json.api_stage2.api_e_count,\r
+ EnemyLost = (int)json.api_stage2.api_e_lostcount\r
+ }\r
});\r
}\r
\r