public void ExpiryRemovesOnlyExpiredImpacts() { var im = new ImpactMatrixManager(); var impact1 = (PlayerImpact)SamplePlayerImpact.Clone(); impact1.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds - 120; var returnValue1 = im.UpdateMatrix(123, impact1); var impact2 = (PlayerImpact)SamplePlayerImpact.Clone(); impact2.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds - 120; var returnValue2 = im.UpdateMatrix(124, impact2); // Back to "now" var impact3 = (PlayerImpact)SamplePlayerImpact.Clone(); impact3.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds + 60; var returnValue3 = im.UpdateMatrix(125, impact3); var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds); Assert.IsTrue(numberRemoved == 2); // Expect this to work. var validImpact = im.ImpactMatrix[125]; Assert.IsTrue(validImpact.Count == 1); Assert.IsTrue(validImpact[0].CharacterId == 999); }
public void EmptyReadThrowsException() { var im = new ImpactMatrixManager(); var returnValue2 = im.ImpactMatrix[123]; Assert.IsNull(returnValue2); }
public void AddMultipleCharacterImpacts() { var im = new ImpactMatrixManager(); var impact1 = (PlayerImpact)SamplePlayerImpact.Clone(); var returnValue1 = im.UpdateMatrix(123, impact1); var impact2 = (PlayerImpact)SamplePlayerImpact.Clone(); var returnValue2 = im.UpdateMatrix(123, impact2); var impact3 = (PlayerImpact)SamplePlayerImpact.Clone(); impact3.CharacterId = 998; impact3.ImpactValue = 1200; // Now have 2 impacts from 999 (additive) and one from 998 var returnValue3 = im.UpdateMatrix(123, impact3); var impact4 = (PlayerImpact)SamplePlayerImpact.Clone(); var returnValue4 = im.UpdateMatrix(123, impact4); var impactList = im.ImpactMatrix[123]; foreach (var playerImpact in impactList) { if (playerImpact.CharacterId == 998) { Assert.IsTrue(playerImpact.ImpactValue == 1200); } if (playerImpact.CharacterId == 999) { Assert.IsTrue(playerImpact.ImpactValue == 1500); } } }
public void ExpireEmptyImpactMatrixDoesNotFail() { var im = new ImpactMatrixManager(); var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds + 60); Assert.IsTrue(numberRemoved == 0); }
public void ReturnGetKillImpacts() { var im = new ImpactMatrixManager(); var impact1 = (PlayerImpact)SamplePlayerImpact.Clone(); var returnValue1 = im.UpdateMatrix(123, impact1); var impact2 = (PlayerImpact)SamplePlayerImpact.Clone(); var returnValue2 = im.UpdateMatrix(123, impact2); var impact3 = (PlayerImpact)SamplePlayerImpact.Clone(); impact3.CharacterId = 998; impact3.ImpactValue = 1200; // Now have 2 impacts from 999 (additive) and one from 998 var returnValue3 = im.UpdateMatrix(123, impact3); var impact4 = (PlayerImpact)SamplePlayerImpact.Clone(); var returnValue4 = im.UpdateMatrix(123, impact4); Assert.IsTrue(im.ImpactMatrix[123].Count == 2); var killImpacts = im.GetKillImpacts(123); Assert.IsTrue(killImpacts.Count == 2); }
public void ExpiryRemovesImpacts() { var im = new ImpactMatrixManager(); SamplePlayerImpact.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds - 120; var returnValue = im.UpdateMatrix(123, SamplePlayerImpact); var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds + 60); var returnValue2 = im.ImpactMatrix[123]; }
public void NonExistantKeyThrowsException() { var im = new ImpactMatrixManager(); var returnValue = im.UpdateMatrix(123, SamplePlayerImpact); Assert.IsNotNull(returnValue); var returnValue2 = im.ImpactMatrix[124]; Assert.IsNotNull(returnValue2); }
public void ExpireDoesEffectsExpiredImpacts() { var im = new ImpactMatrixManager(); SamplePlayerImpact.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds - 120; var returnValue = im.UpdateMatrix(123, SamplePlayerImpact); var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds + 60); Assert.IsTrue(numberRemoved == 1); }
public void TestModificationValue() { var im = new ImpactMatrixManager(); Assert.IsTrue(Math.Abs(im.CalculateModificationValue(40, 160) - 0.9657842847f) < 0.01); Assert.IsTrue(Math.Abs(im.CalculateModificationValue(40, 180) - 0.8685198516) < 0.01); Assert.IsTrue(Math.Abs(im.CalculateModificationValue(40, 40) - 3) < 0.01); Assert.IsTrue(Math.Abs(im.CalculateModificationValue(360, 40) - 9.965784285) < 0.01); Assert.IsTrue(Math.Abs(im.CalculateModificationValue(300, 200) - 3.965784285) < 0.01); }
public void AddSingleImpactWorks() { var im = new ImpactMatrixManager(); var returnValue = im.UpdateMatrix(123, SamplePlayerImpact); Assert.IsNotNull(returnValue); Assert.IsTrue(returnValue.ImpactValue == 500); Assert.IsTrue(returnValue.ModificationValue == 1.2f); Assert.IsTrue(returnValue.ExpiryTimestamp == SamplePlayerImpact.ExpiryTimestamp); }
public void ExpireDoesNotEffectCurrentImpacts() { var im = new ImpactMatrixManager(); var impact1 = (PlayerImpact)SamplePlayerImpact.Clone(); impact1.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds + 60; var returnValue = im.UpdateMatrix(123, impact1); var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds); Assert.IsTrue(numberRemoved == 0); }
public void AddSingleImpactUnderMinimumNotAdded() { var im = new ImpactMatrixManager(); var impact4 = (PlayerImpact)SamplePlayerImpact.Clone(); impact4.CharacterId = (uint)(20000); impact4.ImpactValue = 20; im.UpdateMatrix(123, impact4); // Expect this to throw an exception as the amount was too low and not added. var returnValue2 = im.ImpactMatrix[123]; }
public LowerTierCampaignManager(List <RVRProgression> _RVRT1Progressions, List <RegionMgr> regionMgrs) { BattleFrontProgressions = _RVRT1Progressions; RegionMgrs = regionMgrs; BattleFrontStatuses = new List <BattleFrontStatus>(); ImpactMatrixManagerInstance = new ImpactMatrixManager(); BountyManagerInstance = new BountyManager(); if (_RVRT1Progressions != null) { BuildApocBattleFrontStatusList(BattleFrontProgressions); } }
public UpperTierCampaignManager(List <RVRProgression> _RVRT4Progressions, List <RegionMgr> regionMgrs) { BattleFrontProgressions = _RVRT4Progressions; RegionMgrs = regionMgrs; BattleFrontStatuses = new List <BattleFrontStatus>(); ImpactMatrixManagerInstance = new ImpactMatrixManager(); BountyManagerInstance = new BountyManager(); if (_RVRT4Progressions != null) { BuildApocBattleFrontStatusList(BattleFrontProgressions); } LastAAORallyCall = FrameWork.TCPManager.GetTimeStamp(); _EvtInterface.AddEvent(BroadcastPlayerMessages, 600000, 0); }
public BattleFrontStatus(ImpactMatrixManager impactMatrixManager, int battleFrontId) { ImpactMatrixManagerInstance = impactMatrixManager; BattleFrontId = battleFrontId; ContributionManagerInstance = PlayerContributionManager.LoadPlayerContribution(battleFrontId); RewardManagerInstance = new RewardManager(ContributionManagerInstance, new StaticWrapper(), RewardService._RewardPlayerKills, ImpactMatrixManagerInstance); KeepList = new List <Keep_Info>(); BattlefieldObjectives = new List <BattleFront_Objective>(); if (battleFrontId != 0) { BattleFrontId = battleFrontId; } }
public void DoubleImpactUpdatesAsExpected() { var im = new ImpactMatrixManager(); var returnValue = im.UpdateMatrix(123, SamplePlayerImpact); Assert.IsNotNull(returnValue); Assert.IsTrue(returnValue.ImpactValue == 500); Assert.IsTrue(returnValue.ModificationValue == 1.2f); Assert.IsTrue(returnValue.ExpiryTimestamp == SamplePlayerImpact.ExpiryTimestamp); var returnValue2 = im.UpdateMatrix(123, SamplePlayerImpact); Assert.IsNotNull(returnValue2); Assert.IsTrue(returnValue2.ImpactValue == 1000); Assert.IsTrue(returnValue2.ModificationValue == 1.2f); Assert.IsTrue(returnValue2.ExpiryTimestamp == SamplePlayerImpact.ExpiryTimestamp); }
public void AddLowImpactToExistingListNotAdded() { var im = new ImpactMatrixManager(); var impact3 = (PlayerImpact)SamplePlayerImpact.Clone(); impact3.CharacterId = (uint)(20000); impact3.ImpactValue = 2000; im.UpdateMatrix(123, impact3); var impact4 = (PlayerImpact)SamplePlayerImpact.Clone(); impact4.CharacterId = (uint)(20000); impact4.ImpactValue = 20; im.UpdateMatrix(123, impact4); var returnValue2 = im.ImpactMatrix[123]; Assert.IsTrue(returnValue2.Count == 1); Assert.IsTrue(returnValue2[0].ImpactValue == 2000); }
public void ReturnGetKillImpactsLargeList() { var im = new ImpactMatrixManager(); // Create 20 impacts for (int i = 0; i < 20; i++) { var impact3 = (PlayerImpact)SamplePlayerImpact.Clone(); impact3.CharacterId = (uint)(10000 + i); im.UpdateMatrix(123, impact3); } var killImpacts = im.GetKillImpacts(123); Assert.IsTrue(killImpacts.Count == 20); var impact4 = (PlayerImpact)SamplePlayerImpact.Clone(); impact4.CharacterId = (uint)(20000); im.UpdateMatrix(123, impact4); var killImpacts2 = im.GetKillImpacts(123); Assert.IsTrue(killImpacts2.Count == 20); }