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 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 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 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 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); }