\r
using System;\r
using System.Linq;\r
+using DynaJson;\r
using ExpressionToCodeLib;\r
using KancolleSniffer.Model;\r
-using KancolleSniffer.Util;\r
using Microsoft.VisualStudio.TestTools.UnitTesting;\r
\r
namespace KancolleSniffer.Test\r
return logfile.ReadToEnd().Split(new[] {"\r\n"}, StringSplitOptions.None);\r
}\r
\r
- public void InjectShips(dynamic battle, dynamic item)\r
+ private void InjectShips(dynamic battle, dynamic item)\r
{\r
var deck = (int)battle.api_deck_id - 1;\r
InjectShips(deck, (int[])battle.api_f_nowhps, (int[])battle.api_f_maxhps, (int[][])item[0]);\r
public void CauseRepairGoddessByDoubleAttack()\r
{\r
var logs = ReadAllLines("damecon_001");\r
- var items = JsonParser.Parse("[[[],[],[],[],[43]]]");\r
- dynamic battle = JsonParser.Parse(logs[2]);\r
+ var items = JsonObject.Parse("[[[],[],[],[],[43]]]");\r
+ dynamic battle = JsonObject.Parse(logs[2]);\r
InjectShips(battle, items);\r
_battleInfo.InspectBattle(logs[0], logs[1], battle);\r
- dynamic result = JsonParser.Parse(logs[5]);\r
+ dynamic result = JsonObject.Parse(logs[5]);\r
_battleInfo.InspectBattleResult(result);\r
PAssert.That(() => _shipInfo.Fleets[2].Ships[4].NowHp == 31);\r
}\r
public void AttackedByBattleShipInMidnight()\r
{\r
var logs = ReadAllLines("midnight_002");\r
- var battle = JsonParser.Parse(logs[3]);\r
- InjectShips(battle, JsonParser.Parse(logs[0]));\r
+ var battle = JsonObject.Parse(logs[3]);\r
+ InjectShips(battle, JsonObject.Parse(logs[0]));\r
_battleInfo.InspectBattle(logs[1], logs[2], battle);\r
- _battleInfo.InspectBattleResult(JsonParser.Parse(logs[6]));\r
+ _battleInfo.InspectBattleResult(JsonObject.Parse(logs[6]));\r
PAssert.That(() => _shipInfo.Fleets[0].Ships[3].NowHp == 12);\r
}\r
\r
- private dynamic Data(string json) => ((dynamic)JsonParser.Parse(json)).api_data;\r
+ private dynamic Data(string json) => JsonObject.Parse(json).api_data;\r
\r
/// <summary>\r
/// NPC友軍の支援攻撃がある\r
{\r
var logs = ReadAllLines("friendfleet_001");\r
var battle = Data(logs[3]);\r
- InjectShips(battle, JsonParser.Parse(logs[0]));\r
+ InjectShips(battle, JsonObject.Parse(logs[0]));\r
_battleInfo.InspectBattle(logs[1], logs[2], battle);\r
_battleInfo.InspectBattle(logs[4], logs[5], Data(logs[6]));\r
_battleInfo.InspectBattleResult(Data(logs[9]));\r
{\r
var logs = ReadAllLines("ld_airbattle_001");\r
var battle = Data(logs[3]);\r
- InjectShips(battle, JsonParser.Parse(logs[0]));\r
+ InjectShips(battle, JsonObject.Parse(logs[0]));\r
_battleInfo.InspectBattle(logs[1], logs[2], battle);\r
_battleInfo.InspectBattleResult(Data(logs[6]));\r
PAssert.That(() => !_battleInfo.DisplayedResultRank.IsError);\r
{\r
var logs = ReadAllLines("ld_airbattle_002");\r
var battle = Data(logs[3]);\r
- InjectShips(battle, JsonParser.Parse(logs[0]));\r
+ InjectShips(battle, JsonObject.Parse(logs[0]));\r
_battleInfo.InspectBattle(logs[1], logs[2], battle);\r
_battleInfo.InspectBattleResult(Data(logs[6]));\r
PAssert.That(() => !_battleInfo.DisplayedResultRank.IsError);\r
{\r
var logs = ReadAllLines("damecon_002");\r
var battle = Data(logs[3]);\r
- InjectShips(battle, JsonParser.Parse(logs[0]));\r
+ InjectShips(battle, JsonObject.Parse(logs[0]));\r
_battleInfo.InspectBattle(logs[1], logs[2], battle);\r
_battleInfo.InspectBattle(logs[4], logs[5], Data(logs[6]));\r
_battleInfo.InspectBattleResult(Data(logs[9]));\r
{\r
var logs = ReadAllLines("damecon_003");\r
var battle = Data(logs[3]);\r
- InjectShips(battle, JsonParser.Parse(logs[0]));\r
+ InjectShips(battle, JsonObject.Parse(logs[0]));\r
_battleInfo.InspectBattle(logs[1], logs[2], battle);\r
_battleInfo.InspectBattleResult(Data(logs[6]));\r
PAssert.That(() => _shipInfo.Fleets[1].Ships[5].NowHp == 6);\r
}\r
+\r
+ /// <summary>\r
+ /// 護衛退避艦がいるときに勝利判定がずれる\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void WrongResultRankWithEscapedShip()\r
+ {\r
+ var logs = ReadAllLines("escape_rank_001");\r
+ var battle = Data(logs[3]);\r
+ InjectShips(battle, JsonObject.Parse(logs[0]));\r
+ _battleInfo.InspectBattle(logs[1], logs[2], battle);\r
+ _battleInfo.InspectBattleResult(Data(logs[6]));\r
+ PAssert.That(() => !_battleInfo.DisplayedResultRank.IsError);\r
+ }\r
}\r
}
\ No newline at end of file