X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=KancolleSniffer.Test%2FSnifferTest.cs;h=ec3c5ef5aa9a895f9f4632cd4d099be87ba9f963;hb=29f7c97d3b67bcd3fe7f4d6e779ebe1760828ea4;hp=c6d03f751333c492557604893519dedf04859ddd;hpb=9585b8f5a7f83d09768a4a503e72dd1c823c27c2;p=kancollesniffer%2FKancolleSniffer.git
diff --git a/KancolleSniffer.Test/SnifferTest.cs b/KancolleSniffer.Test/SnifferTest.cs
index c6d03f7..ec3c5ef 100644
--- a/KancolleSniffer.Test/SnifferTest.cs
+++ b/KancolleSniffer.Test/SnifferTest.cs
@@ -17,14 +17,34 @@ using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Linq;
+using DynaJson;
using ExpressionToCodeLib;
+using KancolleSniffer.Model;
using Microsoft.VisualStudio.TestTools.UnitTesting;
+using static System.Math;
namespace KancolleSniffer.Test
{
+ using Sniffer = SnifferTest.TestingSniffer;
+
[TestClass]
public class SnifferTest
{
+ [ClassInitialize]
+ public static void Initialize(TestContext context)
+ {
+ ExpressionToCodeConfiguration.GlobalAssertionConfiguration = ExpressionToCodeConfiguration
+ .GlobalAssertionConfiguration.WithPrintedListLengthLimit(200).WithMaximumValueLength(1000);
+ }
+
+ public class TestingSniffer : KancolleSniffer.Sniffer
+ {
+ public TestingSniffer(bool start = false) : base(start)
+ {
+ AdditionalData.UseNumEquipsFile = false;
+ }
+ }
+
public static StreamReader OpenLogFile(string name)
{
var dir = Path.GetDirectoryName(Path.GetDirectoryName(Environment.CurrentDirectory));
@@ -53,7 +73,7 @@ namespace KancolleSniffer.Test
} while (!line.StartsWith(s));
triple.Add(line.Substring(s.Length));
}
- var json = JsonParser.Parse(triple[2]);
+ var json = JsonObject.Parse(triple[2]);
sniffer.Sniff(triple[0], triple[1], json);
action?.Invoke(sniffer);
}
@@ -61,36 +81,25 @@ namespace KancolleSniffer.Test
}
///
- /// éå¹å¤æ¦ã§æ½æ°´è¦å士ããè¦åããã
- ///
- [TestMethod]
- public void SpMidnightWithoutBattle()
- {
- var sniffer = new Sniffer();
- SniffLogFile(sniffer, "sp_midnight_001");
- PAssert.That(() => sniffer.Battle.ResultRank == BattleResultRank.D);
- }
-
- ///
- /// åºææã«å¤§ç ´ãã¦ããè¦å¨ããããè¦åãã
+ /// ä¸ã¤ãã¢ã¤ãã ããªãå ´åã®require_info
///
[TestMethod]
- public void DamagedShipWarningOnMapStart()
+ public void NoUseItemRequireInfo()
{
- var sniffer = new Sniffer();
- SniffLogFile(sniffer, "mapstart_001");
- PAssert.That(() => sniffer.BadlyDamagedShips.SequenceEqual(new[] {"大潮"}));
+ var sniffer = new Sniffer(true);
+ SniffLogFile(sniffer, "require_info_001");
+ Assert.IsTrue(true);
}
///
- /// é£åè¦éã«å¤§ç ´è¦ãããç¶æ
ã§ç¬¬3è¦éãåºæããã¨ãã«è¦åããªã
+ /// ä¸ã¤ãã¢ã¤ãã ããªãå ´åã®useitem
///
[TestMethod]
- public void NotWarnDamagedShipInCombinedFleetOnMapStart()
+ public void NoUseItem()
{
- var sniffer = new Sniffer();
- SniffLogFile(sniffer, "mapstart_002");
- PAssert.That(() => !sniffer.BadlyDamagedShips.Any());
+ var sniffer = new Sniffer(true);
+ SniffLogFile(sniffer, "useitem_001");
+ Assert.IsTrue(true);
}
///
@@ -101,9 +110,10 @@ namespace KancolleSniffer.Test
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "fighterpower_001");
- PAssert.That(() => sniffer.GetFighterPower(0).SequenceEqual(new[] {156, 159}));
+ var fleet = sniffer.Fleets[0];
+ PAssert.That(() => fleet.FighterPower == new Range(156, 159));
SniffLogFile(sniffer, "fighterpower_002");
- PAssert.That(() => sniffer.GetFighterPower(0).SequenceEqual(new[] {140, 143}), "å
¨æ»
ããã¹ãããããã");
+ PAssert.That(() => fleet.FighterPower == new Range(140, 143), "å
¨æ»
ããã¹ãããããã");
}
///
@@ -114,20 +124,20 @@ namespace KancolleSniffer.Test
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "fighterpower_003");
- PAssert.That(() => sniffer.GetFighterPower(0).SequenceEqual(new[] {135, 135}));
+ PAssert.That(() => sniffer.Fleets[0].FighterPower == new Range(135, 135));
}
///
/// åºå°èªç©ºéã®å¶ç©ºå¤ãæ£ããè¨ç®ãã
///
[TestMethod]
- public void FighterPowerOfBaseAirCorps()
+ public void FighterPowerOfAirBase()
{
var sniffer = new Sniffer();
- SniffLogFile(sniffer, "baseaircorps_001");
- PAssert.That(() => sniffer.BaseAirCorps[0].AirCorps[0].FighterPower[1] == 301);
- sniffer.BaseAirCorps[0].AirCorps[0].Action = 2; // é²ç©º
- PAssert.That(() => sniffer.BaseAirCorps[0].AirCorps[0].FighterPower[1] == 320);
+ SniffLogFile(sniffer, "airbase_001");
+ PAssert.That(() => sniffer.AirBase[0].AirCorps[0].CalcFighterPower().AirCombat.Max == 301);
+ sniffer.AirBase[0].AirCorps[0].Action = 2; // é²ç©º
+ PAssert.That(() => sniffer.AirBase[0].AirCorps[0].CalcFighterPower().Interception.Max == 320);
}
///
@@ -137,8 +147,8 @@ namespace KancolleSniffer.Test
public void FighterPowerWithReconBonus()
{
var sniffer = new Sniffer();
- SniffLogFile(sniffer, "baseaircorps_002");
- PAssert.That(() => sniffer.BaseAirCorps[0].AirCorps[2].FighterPower[0] == 353);
+ SniffLogFile(sniffer, "airbase_002");
+ PAssert.That(() => sniffer.AirBase[0].AirCorps[2].CalcFighterPower().Interception.Min == 353);
}
///
@@ -148,8 +158,50 @@ namespace KancolleSniffer.Test
public void FighterPowerOfLandBasedAttackAircraft()
{
var sniffer = new Sniffer();
- SniffLogFile(sniffer, "baseaircorps_003");
- PAssert.That(() => sniffer.BaseAirCorps[1].AirCorps[0].FighterPower[0] == 121);
+ SniffLogFile(sniffer, "airbase_003");
+ PAssert.That(() => sniffer.AirBase[1].AirCorps[0].CalcFighterPower().AirCombat.Min == 121);
+ }
+
+ ///
+ /// åºå°èªç©ºéã®åºæã³ã¹ããè¨ç®ãã
+ ///
+ [TestMethod]
+ public void CostForSortieOfAirBase()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "airbase_003");
+ PAssert.That(() => sniffer.AirBase[1].AirCorps[0].CostForSortie.SequenceEqual(new[] {99, 47}));
+ }
+
+ ///
+ /// é¸ä¸æ¦éæ©ã®æ¹ä¿®ã¬ãã«ãå¶ç©ºå¤ã«åæ ãããã
+ ///
+ [TestMethod]
+ public void FighterPowerOfLandBAseFighter()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "airbase_004");
+ PAssert.That(() => sniffer.AirBase[1].AirCorps[0].CalcFighterPower().AirCombat.Min == 328);
+ }
+
+ ///
+ /// é¸ä¸åµå¯æ©ã®å¹æãåæ ããå¶ç©ºå¤ãè¨ç®ãã
+ ///
+ [TestMethod]
+ public void FighterPowerWithLandBaseReconBonus()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "airbase_005");
+
+ // äºå¼é¸ä¸åµå¯æ©(çç·´)
+ var fp1 = sniffer.AirBase[0].AirCorps[0].CalcFighterPower();
+ PAssert.That(() => fp1.AirCombat.Min == 274);
+ PAssert.That(() => fp1.Interception.Min == 302);
+
+ // äºå¼é¸ä¸åµå¯æ©
+ var fp3 = sniffer.AirBase[0].AirCorps[2].CalcFighterPower();
+ PAssert.That(() => fp3.AirCombat.Min == 206);
+ PAssert.That(() => fp3.Interception.Min == 310);
}
///
@@ -160,11 +212,24 @@ namespace KancolleSniffer.Test
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "lineofsight_001");
- PAssert.That(() => Math.Abs(sniffer.GetFleetLineOfSights(0, 1) - 39.45) < 0.01);
- PAssert.That(() => Math.Abs(sniffer.GetFleetLineOfSights(0, 3) - 115.19) < 0.01);
- PAssert.That(() => Math.Abs(sniffer.GetFleetLineOfSights(0, 4) - 153.06) < 0.01);
+ var fleet = sniffer.Fleets[0];
+ PAssert.That(() => Abs(fleet.GetLineOfSights(1) - 39.45) < 0.01);
+ PAssert.That(() => Abs(fleet.GetLineOfSights(3) - 115.19) < 0.01);
+ PAssert.That(() => Abs(fleet.GetLineOfSights(4) - 153.06) < 0.01);
SniffLogFile(sniffer, "lineofsight_002");
- PAssert.That(() => Math.Abs(sniffer.GetFleetLineOfSights(0, 1) - -25.10) < 0.01, "è¦éã«ç©ºãããã");
+ PAssert.That(() => Abs(fleet.GetLineOfSights(1) - -25.10) < 0.01, "è¦éã«ç©ºãããã");
+ }
+
+ ///
+ /// è£å¼·å¢è¨ã¹ãããã«è¦å¼µãå¡ãè£
åããå ´åã®å¤å®å¼(33)
+ ///
+ [TestMethod]
+ public void LineOfSightWithExSlot()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "lineofsight_003");
+ var fleet = sniffer.Fleets[0];
+ PAssert.That(() => Abs(fleet.GetLineOfSights(1) - -28.8) < 0.01);
}
///
@@ -175,29 +240,24 @@ namespace KancolleSniffer.Test
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "contact_001");
- PAssert.That(() => Math.Abs(sniffer.GetContactTriggerRate(0) - 1.8182) < 0.0001);
+ PAssert.That(() => Abs(sniffer.Fleets[0].ContactTriggerRate - 1.8182) < 0.0001);
}
///
- /// TPãæ£ããè¨ç®ãã
+ /// TPãè¨ç®ãã
///
[TestMethod]
public void TransportPoint()
{
- var sniffer1 = new Sniffer();
- SniffLogFile(sniffer1, "transportpoint_001");
- ItemSpec.IncreaceLandPowerTp = false;
- PAssert.That(() => (int)sniffer1.GetShipStatuses(0).Sum(s => s.TransportPoint) == 27);
- ItemSpec.IncreaceLandPowerTp = true;
- PAssert.That(() => (int)sniffer1.GetShipStatuses(0).Sum(s => s.TransportPoint) == 37, "é¸ä¸æ¦åæé¸æ");
-
- var sniffer2 = new Sniffer();
- SniffLogFile(sniffer2, "transportpoint_002");
- PAssert.That(() => (int)sniffer2.GetShipStatuses(0).Sum(s => s.TransportPoint) == 19, "鬼ææ¹äº+ç¹å¤§çº+ãã«ãã");
-
- var sniffer3 = new Sniffer();
- SniffLogFile(sniffer3, "transportpoint_003");
- PAssert.That(() => (int)sniffer3.GetShipStatuses(0).Sum(s => s.TransportPoint) == 13, "é§éè¦+士éé¨é");
+ var sniffer = new Sniffer();
+ var msgs = new[] {"", "鬼ææ¹äº+ç¹å¤§çº+ãã«ãã", "é§éè¦+士éé¨é", "è£çµ¦è¦"};
+ var results = new[] {47, 19, 13, 15};
+ for (var i = 0; i < msgs.Length; i++)
+ {
+ SniffLogFile(sniffer, "transportpoint_00" + (i + 1));
+ var j = i;
+ PAssert.That(() => (int)sniffer.Fleets[0].TransportPoint == results[j], msgs[j]);
+ }
}
///
@@ -208,7 +268,7 @@ namespace KancolleSniffer.Test
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "antiairfire_001");
- var ships = sniffer.GetShipStatuses(0);
+ var ships = sniffer.Fleets[0].Ships;
PAssert.That(() => ships.Sum(ship => ship.EffectiveAntiAirForFleet) == 88);
PAssert.That(
() =>
@@ -217,6 +277,103 @@ namespace KancolleSniffer.Test
}
///
+ /// 空æ¯ã®å¤æ¦ç«åãè¨ç®ãã
+ ///
+ [TestMethod]
+ public void CvNightBattlePower()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "nightbattlepower_001");
+ var ships = sniffer.Fleets[0].ActualShips;
+ PAssert.That(() =>
+ ships.Select(ship => (int)(ship.NightBattlePower * 100))
+ .SequenceEqual(new[] {11202, 14985, 20092, 17354}));
+ // å¤éä½æ¦èªç©ºè¦å¡ãå¤ã
+ ships[0].FreeSlot(3);
+ ships[1].FreeSlot(2);
+ ships[3].FreeSlot(2);
+ PAssert.That(() =>
+ ships.Select(ship => (int)(ship.NightBattlePower * 100))
+ .SequenceEqual(new[] {6900, 7500, 20092, 0}));
+ // Ark RoyalããSwordfishãå¤ã
+ ships[0].FreeSlot(0);
+ PAssert.That(() => (int)ships[0].NightBattlePower == 0);
+ }
+
+ ///
+ /// å¯ç ²ã®æ¹ä¿®ã¬ãã«ã®å¹æãè¨ç®ãã
+ ///
+ [TestMethod]
+ public void SecondaryGunFirepowerLevelBonus()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "firepower_001");
+ var ships = sniffer.Fleets[0].Ships;
+ // ReSharper disable CompareOfFloatsByEqualityOperator
+ PAssert.That(() => ships[0].EffectiveFirepower == 93.5);
+ PAssert.That(() => ships[1].EffectiveFirepower == 82.5);
+ // ReSharper restore CompareOfFloatsByEqualityOperator
+ }
+
+ ///
+ /// é£åè¦éè£æ£ã®è¼ã£ãç«åãè¨ç®ãã
+ ///
+ [TestMethod]
+ public void CombinedFleetFirepower()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "combined_status_001");
+ // ReSharper disable CompareOfFloatsByEqualityOperator
+ PAssert.That(() => sniffer.Fleets[0].Ships[0].EffectiveFirepower == 117.0);
+ PAssert.That(() => sniffer.Fleets[1].Ships[0].EffectiveFirepower == 72.0);
+ // ReSharper restore CompareOfFloatsByEqualityOperator
+ }
+
+ ///
+ /// 対æ½æ»æåãè¨ç®ãã
+ ///
+ [TestMethod]
+ public void AntiSubmarine()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "antisubmarine_001");
+ PAssert.That(() => Abs(sniffer.Fleets[0].Ships[0].EffectiveAntiSubmarine - 92.16) < 0.01);
+ PAssert.That(() => Abs(sniffer.Fleets[0].Ships[1].EffectiveAntiSubmarine - 84.49) < 0.01);
+ PAssert.That(() => Abs(sniffer.Fleets[0].Ships[2].EffectiveAntiSubmarine - 57.84) < 0.01);
+ PAssert.That(() => Abs(sniffer.Fleets[0].Ships[3].EffectiveAntiSubmarine - 61.37) < 0.01);
+ }
+
+ ///
+ /// å¤æ¦çºåçãè¨ç®ãã
+ ///
+ [TestMethod]
+ public void NightContactTriggerRate()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "nightrecon_001");
+ PAssert.That(() => Abs(sniffer.Fleets[0].NightContactTriggerRate - 84.64) < 0.01);
+ var ship = sniffer.Fleets[0].Ships[0];
+ var empty = Enumerable.Repeat(new ItemStatus(), 5).ToArray();
+ var orig = ship.Slot;
+ ship.Slot = empty;
+ PAssert.That(() => Abs(sniffer.Fleets[0].NightContactTriggerRate - 52) < 0.01);
+ ship.Slot = orig;
+ sniffer.Fleets[0].Ships[1].Slot = empty;
+ PAssert.That(() => Abs(sniffer.Fleets[0].NightContactTriggerRate - 68) < 0.01);
+ }
+
+ ///
+ /// èªç©ºåµå¯ã¹ã³ã¢ãè¨ç®ãã
+ ///
+ [TestMethod]
+ public void AirReconScore()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "airrecon_score_001");
+ PAssert.That(() => Abs(sniffer.Fleets[0].AirReconScore - 26.88) < 0.01);
+ }
+
+ ///
/// ç·¨æã§ç©ºãçªå·ã使ã£ããã¼ãã¼ããæ£ããåæ ãã
///
[TestMethod]
@@ -224,7 +381,7 @@ namespace KancolleSniffer.Test
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "deck_001");
- var result = sniffer.GetDeck(0);
+ var result = sniffer.Fleets[0].Deck;
PAssert.That(() => new[] {756, 17204, 6156, 28806, 1069, -1}.SequenceEqual(result));
}
@@ -236,7 +393,7 @@ namespace KancolleSniffer.Test
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "deck_005");
- var result = sniffer.GetDeck(0);
+ var result = sniffer.Fleets[0].Deck;
PAssert.That(() => new[] {57391, 50, 24475, 113, -1, -1}.SequenceEqual(result));
}
@@ -249,24 +406,36 @@ namespace KancolleSniffer.Test
var sniffer = new Sniffer();
SniffLogFile(sniffer, "deck_002");
- var result0 = sniffer.GetDeck(0);
+ var result0 = sniffer.Fleets[0].Deck;
PAssert.That(() => new[] {1069, 6156, 756, 3223, -1, -1}.SequenceEqual(result0), "ç·¨æã§è¦éå
ã§è¦å¨ã¨äº¤æãã");
SniffLogFile(sniffer, "deck_003");
- var result10 = sniffer.GetDeck(0);
- var result11 = sniffer.GetDeck(1);
+ var result10 = sniffer.Fleets[0].Deck;
+ var result11 = sniffer.Fleets[1].Deck;
PAssert.That(() => new[] {1069, 6156, 14258, 3223, -1, -1}.SequenceEqual(result10) &&
new[] {101, 4487, 756, 14613, 28806, -1}.SequenceEqual(result11), "002ã«ç¶ãã¦è¦éãã¾ããã£ã¦äº¤æãã");
SniffLogFile(sniffer, "deck_004");
- var result20 = sniffer.GetDeck(0);
- var result21 = sniffer.GetDeck(1);
+ var result20 = sniffer.Fleets[0].Deck;
+ var result21 = sniffer.Fleets[1].Deck;
PAssert.That(() => new[] {1069, 6156, 14258, 3223, 756, -1}.SequenceEqual(result20) &&
new[] {101, 4487, 14613, 28806, -1, -1}.SequenceEqual(result21),
"003ã«ç¶ãã¦ç©ºãçªå·ã«ã»ãã®è¦éã®è¦å¨ãé
ç½®ãã");
}
///
+ /// éä¼´è¦ä¸æ¬è§£é¤ãå®è¡ãã
+ ///
+ [TestMethod]
+ public void WithdrawAccompanyingShipsAtOnce()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "deck_006");
+ var result = sniffer.Fleets[0].Deck;
+ PAssert.That(() => new[] {135, -1, -1, -1, -1, -1}.SequenceEqual(result));
+ }
+
+ ///
/// ç·¨æå±éãæ£ããåæ ãã
///
[TestMethod]
@@ -274,7 +443,7 @@ namespace KancolleSniffer.Test
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "preset_001");
- var result = sniffer.GetDeck(0);
+ var result = sniffer.Fleets[0].Deck;
PAssert.That(() => new[] {50510, 632, 39843, 113, 478, 47422}.SequenceEqual(result));
}
@@ -289,37 +458,72 @@ namespace KancolleSniffer.Test
}
///
- /// è£
åã®äº¤æãæ£ããåæ ãã
+ /// è£
å交æã®APIã®ä»æ§å¤æ´ã«å¯¾å¿ãã
///
[TestMethod]
- public void SlotExchange()
+ public void SlotExchangeVersion2()
{
var sniffer = new Sniffer();
- SniffLogFile(sniffer, "slot_exchange_001");
- var result = sniffer.GetShipStatuses(0)[0].Slot.Select(item => item.Id);
- PAssert.That(() => new[] {26096, 30571, 77694, 61383, -1}.SequenceEqual(result));
+ SniffLogFile(sniffer, "slot_exchange_002");
+ var result = sniffer.Fleets[0].Ships[0].Slot.Select(item => item.Id);
+ PAssert.That(() => new[] {157798, 59001, 157804, -1, -1}.SequenceEqual(result));
}
///
/// è¿ä»£åæ¹ä¿®ã®çµæãããã«åæ ãã
///
[TestMethod]
- public void PowerupResult()
+ public void PowerUpResult()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "powerup_001");
+ PAssert.That(() => Abs(sniffer.Fleets[0].Ships[0].EffectiveFirepower - 30) < 0.0001);
+ }
+
+ ///
+ /// è¿ä»£åæ¹ä¿®ã«ããè¦å¨æ°ã¨è£
åæ°ã®å¤å
+ ///
+ [TestMethod]
+ public void PowerUpCount()
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "powerup_001");
- PAssert.That(() => Math.Abs(sniffer.GetShipStatuses(0)[0].EffectiveFirepower - 30) < 0.0001);
+ PAssert.That(() => sniffer.ShipCounter.Now == 204);
+ PAssert.That(() => sniffer.ItemCounter.Now == 932);
}
///
/// è¿ä»£åæ¹ä¿®ãäºéã«è¡ãããå ´åã«å¯¾å¿ãã
///
[TestMethod]
- public void DuplicatedPowerup()
+ public void DuplicatedPowerUp()
{
var sniffer = new Sniffer();
SniffLogFile(sniffer, "powerup_002");
- PAssert.That(() => sniffer.Item.NowShips == 218);
+ PAssert.That(() => sniffer.ShipCounter.Now == 218);
+ }
+
+ ///
+ /// è£
å解é¤å¾ã®è¿ä»£åæ¹ä¿®
+ ///
+ [TestMethod]
+ public void PowerUpDetachItem()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "powerup_003");
+ PAssert.That(() => sniffer.ShipCounter.Now == 317);
+ PAssert.That(() => sniffer.ItemCounter.Now == 1390);
+ }
+
+ ///
+ /// ship2ãå¾
ããã«ã±ãã³ã³ã®çµæãåæ ãã
+ ///
+ [TestMethod]
+ public void MarriageResult()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "marriage_001");
+ PAssert.That(() => sniffer.Fleets[0].Ships[2].Level == 100);
}
///
@@ -340,12 +544,16 @@ namespace KancolleSniffer.Test
[TestMethod]
public void CountItem()
{
- var sniffer1 = new Sniffer();
- SniffLogFile(sniffer1, "createitem_001");
- PAssert.That(() => sniffer1.Item.NowEquips == 900);
- var sniffer2 = new Sniffer();
- SniffLogFile(sniffer2, "createship_001");
- PAssert.That(() => sniffer2.Item.NowEquips == 904);
+ var createItems = new Sniffer();
+ SniffLogFile(createItems, "createitem_001");
+ Assert.AreEqual(900, createItems.ItemCounter.Now);
+ PAssert.That(() => createItems.ItemCounter.Now == 900);
+ var createShips = new Sniffer();
+ SniffLogFile(createShips, "createship_001");
+ Assert.AreEqual(904, createShips.ItemCounter.Now);
+ var multiItems = new Sniffer();
+ SniffLogFile(multiItems, "createitem_002");
+ Assert.AreEqual(1307, multiItems.ItemCounter.Now);
}
///
@@ -354,12 +562,15 @@ namespace KancolleSniffer.Test
[TestMethod]
public void WarnItemCount()
{
+ Action func = i => { };
var sniffer1 = new Sniffer();
SniffLogFile(sniffer1, "item_count_001");
- PAssert.That(() => sniffer1.Item.RingEquips, "åºæããæ¯æ¸¯ã«æ»ã£ãã¨ã");
+ func.Invoke(sniffer1.ItemCounter.Now); // Nowãèªã¾ãªãã¨Alarmãç«ããªã
+ PAssert.That(() => sniffer1.ItemCounter.Alarm, "åºæããæ¯æ¸¯ã«æ»ã£ãã¨ã");
var sniffer2 = new Sniffer();
SniffLogFile(sniffer2, "item_count_002");
- PAssert.That(() => sniffer2.Item.RingEquips, "ãã°ã¤ã³ããã¨ã");
+ func.Invoke(sniffer2.ItemCounter.Now);
+ PAssert.That(() => sniffer2.ItemCounter.Alarm, "ãã°ã¤ã³ããã¨ã");
}
///
@@ -464,7 +675,7 @@ namespace KancolleSniffer.Test
new[] {0, 0, 0, 0, 0, 0, 0, 0},
new[] {288194, 282623, 299496, 295958, 3000, 2968, 2997, 7},
new[] {288185, 282623, 299496, 295943, 3000, 2968, 2997, 7},
- new[] {288161, 282623, 299496, 295903, 3000, 2968, 2997, 7},
+ new[] {288161, 282623, 299496, 295903, 3000, 2968, 2997, 7}
};
PAssert.That(() => SequenceOfSequenceEqual(expected3, result3), "èªç©ºæ©ã®è£å
");
@@ -488,7 +699,7 @@ namespace KancolleSniffer.Test
new[] {0, 0, 0, 0, 0, 0, 0, 0},
new[] {261012, 252252, 298492, 279622, 3000, 2842, 3000, 22},
new[] {261012, 252252, 298492, 279538, 3000, 2842, 3000, 22},
- new[] {261012, 252252, 298492, 279454, 3000, 2842, 3000, 22},
+ new[] {261012, 252252, 298492, 279454, 3000, 2842, 3000, 22}
};
PAssert.That(() => SequenceOfSequenceEqual(expected4, result4), "èªç©ºæ©ã®é
å");
}
@@ -512,5 +723,209 @@ namespace KancolleSniffer.Test
SniffLogFile(sniffer, "nyukyo_001");
PAssert.That(() => sniffer.RepairList.Length == 1);
}
+
+ ///
+ /// ä¸æ¬è§£ä½ãã(è£
åä¿ç®¡ãªãã¨ãã)
+ ///
+ [TestMethod]
+ public void DestroyShip()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "destroyship_001");
+ PAssert.That(() => sniffer.ShipCounter.Now == 250);
+ PAssert.That(() => sniffer.ItemCounter.Now == 1118);
+ PAssert.That(() => sniffer.Material.Current.Take(4).SequenceEqual(new[] {285615, 286250, 291010, 284744}));
+ }
+
+ ///
+ /// 第2è¦éã¾ã§ãã解æ¾ãã¦ããªãã¦ãã¨ã©ã¼ã«ãªããªãããã«ãã
+ ///
+ [TestMethod]
+ public void TwoFleets()
+ {
+ var sniffer = new Sniffer(true);
+ SniffLogFile(sniffer, "twofleets_001");
+ PAssert.That(() => new[]{5, 5, 0, 0}.SequenceEqual(sniffer.Fleets.Select(f => f.ChargeStatus.Fuel)));
+ }
+
+ ///
+ /// ship2ããªã¯ã¨ã¹ãã§æå®ããè¦å¨ã®ãã¼ã¿ããè¿ããªã
+ ///
+ [TestMethod]
+ public void Ship2ReturnShipSpecifiedByRequest()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "ship2_001");
+ PAssert.That(() => sniffer.ShipCounter.Now == 243);
+ }
+
+ ///
+ /// åºæä¸ã«ã¢ã¤ãã ãåå¾ãã
+ ///
+ [TestMethod]
+ public void ItemGetInSortie()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "itemget_001");
+ PAssert.That(() => sniffer.MiscText ==
+ "[ç²å¾ã¢ã¤ãã ]\r\n" +
+ "çæ: 1115\r\n" +
+ "å¼¾è¬: 25\r\n" +
+ "é¼æ: 70\r\n" +
+ "家å
·ç®±ï¼å¤§ï¼: 1\r\n" +
+ "給糧è¦ãéå®®ã: 1\r\n" +
+ "å²ç« : 1\r\n" +
+ "給糧è¦ãä¼è¯æ¹ã: 3\r\n" +
+ "ãã¬ã¼ã³ãç®±: 1\r\n" +
+ "è£å¼·å¢è¨: 2\r\n" +
+ "æ¦éè©³å ±: 1\r\n" +
+ "çé²(å
ä¸ä¸ç©º): 1\r\n" +
+ "å¤éä½æ¦èªç©ºè¦å¡: 1\r\n" +
+ "130mm B-13é£è£
ç ²: 1\r\n" +
+ "æ½æ°´ç©ºæ¯ãªæ¡ç®ªç¬¥: 1\r\n" +
+ "Gambier Bay: 1");
+ }
+
+ ///
+ /// åºæç´å¾ã«è³æºãç²å¾ãã
+ ///
+ [TestMethod]
+ public void ItemGetAtStart()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "itemget_002");
+ PAssert.That(() => sniffer.MiscText ==
+ "[ç²å¾ã¢ã¤ãã ]\r\n" +
+ "çæ: 65");
+ }
+
+ ///
+ /// èªç©ºåµå¯ã§ã¢ã¤ãã ãåå¾ãã
+ ///
+ [TestMethod]
+ public void ItemGetInAirRecon()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "airrecon_001");
+ PAssert.That(() =>
+ sniffer.MiscText ==
+ "[æµ·åã²ã¼ã¸æ
å ±]\r\n æµ·åé¸æç»é¢ã«é²ãã¨è¡¨ç¤ºãã¾ãã\r\n" +
+ "[æ¼ç¿æ
å ±]\r\n æ¼ç¿ç¸æãé¸ã¶ã¨è¡¨ç¤ºãã¾ãã\r\n" +
+ "[ç²å¾ã¢ã¤ãã ]\r\n 帰æããã¨ãã«è¡¨ç¤ºãã¾ãã", "失æã®å ´å");
+
+ SniffLogFile(sniffer, "airrecon_002");
+ PAssert.That(() =>
+ sniffer.MiscText == "[ç²å¾ã¢ã¤ãã ]\r\nå¼¾è¬: 150\r\néçºè³æ: 1", "æå");
+
+ SniffLogFile(sniffer, "airrecon_003");
+ PAssert.That(() =>
+ sniffer.MiscText == "[ç²å¾ã¢ã¤ãã ]\r\nå¼¾è¬: 150\r\néçºè³æ: 1", "éä¸ã§ãªãã¼ããã¦ååºæ");
+ }
+
+ ///
+ /// æµ·åã²ã¼ã¸ã®æ
å ±ãçæãã
+ ///
+ [TestMethod]
+ public void AreaGauge()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "mapgauge_001");
+ PAssert.That(() =>
+ sniffer.MiscText ==
+ "[æµ·åã²ã¼ã¸]\r\n" +
+ "1-6 : æ®ã 5/7\r\n" +
+ "2-5 : æ®ã 4/4\r\n" +
+ "3-5 : æ®ã 4/4\r\n" +
+ "4-4 : æ®ã 4/4\r\n");
+ }
+
+ ///
+ /// 7-2ã®2æ¬ç®ã®æµ·åã²ã¼ã¸ãæ£ãã表示ãã
+ ///
+ [TestMethod]
+ public void SecondAreaGauge()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "mapgauge_002");
+ PAssert.That(() =>
+ sniffer.MiscText ==
+ "[æµ·åã²ã¼ã¸]\r\n" +
+ "1-6 : æ®ã 5/7\r\n" +
+ "2-5 : æ®ã 2/4\r\n" +
+ "5-5 : æ®ã 5/5\r\n" +
+ "6-5 : æ®ã 6/6\r\n" +
+ "7-2 : æ®ã 1/4\r\n");
+ }
+
+ ///
+ /// 2019å¬ã¤ãããã¯ãªã¢æ¸ã¿ãããã®ã²ã¼ã¸æ
å ±ããªã
+ ///
+ [TestMethod]
+ public void ClearedExMapGage()
+ {
+ var miscTextInfo = new MiscTextInfo(null, null);
+ using (var stream = OpenLogFile("mapgauge_003"))
+ {
+ miscTextInfo.InspectMapInfo(JsonObject.Parse(stream.ReadToEnd()));
+ }
+ PAssert.That(() =>
+ miscTextInfo.Text ==
+ "[æµ·åã²ã¼ã¸]\r\n" +
+ "1-6 : æ®ã 5/7\r\n" +
+ "5-5 : æ®ã 5/5\r\n" +
+ "7-2 : æ®ã 1/4\r\n" +
+ "43-2 : HP 1050/1400\r\n");
+ }
+
+ ///
+ /// æ¼ç¿ã®ç²å¾çµé¨å¤ãè¨ç®ãã
+ ///
+ [TestMethod]
+ public void PracticeExpPoint()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "practice_004");
+ PAssert.That(() => sniffer.MiscText == "[æ¼ç¿æ
å ±]\r\næµè¦éå : 第ä¸è¦é\r\nç²å¾çµé¨å¤ : 878\r\nSåå© : 1053");
+ }
+
+ ///
+ /// æ°è¦ã®ããããè¦ã®åæè£
åæ°ãç»é²ãã
+ ///
+ [TestMethod]
+ public void RecordNumEquipsOfNewDropShip()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "dropship_001");
+ PAssert.That(() => sniffer.AdditionalData.NumEquips(565) == 2);
+ PAssert.That(() => sniffer.ShipList.First(s => s.Spec.Id == 565).Spec.NumEquips == 2);
+ }
+
+ ///
+ /// æ¢ç¥ã®ããããè¦ã¨ãã®è£
åãã«ã¦ã³ããã
+ ///
+ [TestMethod]
+ public void CountDropShip()
+ {
+ var sniffer = new Sniffer();
+ sniffer.AdditionalData.RecordNumEquips(11, "", 1);
+ SniffLogFile(sniffer, "dropship_002");
+ PAssert.That(() => sniffer.ShipCounter.Now == 250);
+ PAssert.That(() => sniffer.ItemCounter.Now == 1159);
+ }
+
+ ///
+ /// è¦å¨æ°ãæ°ãã
+ ///
+ [TestMethod]
+ public void CountShips()
+ {
+ var sniffer = new Sniffer();
+ SniffLogFile(sniffer, "ship_count_001");
+ PAssert.That(() => sniffer.ShipCounter.Now == 267 && sniffer.ShipCounter.Alarm, "ãã°ã¤ã³");
+ SniffLogFile(sniffer, "ship_count_002");
+ PAssert.That(() => sniffer.ShipCounter.Now == 266 && sniffer.ShipCounter.Alarm, "建é ");
+ SniffLogFile(sniffer, "ship_count_003");
+ PAssert.That(() => sniffer.ShipCounter.Now == 266 && sniffer.ShipCounter.Alarm, "ãããã");
+ }
}
}
\ No newline at end of file