}\r
\r
/// <summary>\r
+ /// 夜戦発動率を計算する\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void NightContactTriggerRate()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ SniffLogFile(sniffer, "nightrecon_001");\r
+ PAssert.That(() => Abs(sniffer.Fleets[0].NightContactTriggerRate - 84.64) < 0.01);\r
+ var ship = sniffer.Fleets[0].Ships[0];\r
+ var empty = Enumerable.Repeat(new ItemStatus(), 5).ToArray();\r
+ var orig = ship.Slot;\r
+ ship.Slot = empty;\r
+ PAssert.That(() => Abs(sniffer.Fleets[0].NightContactTriggerRate - 52) < 0.01);\r
+ ship.Slot = orig;\r
+ sniffer.Fleets[0].Ships[1].Slot = empty;\r
+ PAssert.That(() => Abs(sniffer.Fleets[0].NightContactTriggerRate - 68) < 0.01);\r
+ }\r
+\r
+ /// <summary>\r
/// 編成で空き番号を使ったローテートを正しく反映する\r
/// </summary>\r
[TestMethod]\r
}\r
\r
/// <summary>\r
+ /// 近代化改修による艦娘数と装備数の変化\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void PowerUpCount()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ SniffLogFile(sniffer, "powerup_001");\r
+ PAssert.That(() => sniffer.ShipCounter.Now == 204);\r
+ PAssert.That(() => sniffer.ItemCounter.Now == 932);\r
+ }\r
+\r
+ /// <summary>\r
/// 近代化改修が二重に行われた場合に対応する\r
/// </summary>\r
[TestMethod]\r
}\r
\r
/// <summary>\r
+ /// 装備解除後の近代化改修\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void PowerUpDetachItem()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ SniffLogFile(sniffer, "powerup_003");\r
+ PAssert.That(() => sniffer.ShipCounter.Now == 317);\r
+ PAssert.That(() => sniffer.ItemCounter.Now == 1390);\r
+ }\r
+\r
+ /// <summary>\r
/// ship2を待たずにケッコンの結果を反映する\r
/// </summary>\r
[TestMethod]\r
{\r
var sniffer = new Sniffer(true);\r
SniffLogFile(sniffer, "twofleets_001");\r
- PAssert.That(() => new[]{5, 5, 5, 5}.SequenceEqual(sniffer.Fleets.Select(f => f.ChargeStatus.Fuel)));\r
+ PAssert.That(() => new[]{5, 5, 0, 0}.SequenceEqual(sniffer.Fleets.Select(f => f.ChargeStatus.Fuel)));\r
}\r
\r
/// <summary>\r