Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
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];
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }