Beispiel #1
0
        public void CastSpell_FocusSpellCastAndTicksOnce_AllEventsRemoved()
        {
            var caster = NewFakePlayer();
            var target = NewFakePlayer();
            var spell  = NewFakeSpell();

            spell.fakeIsFocus   = true;
            spell.fakeTarget    = "Realm";
            spell.Duration      = 20;
            spell.fakeFrequency = 20;
            spell.fakeSpellType = "DamageShield";
            spell.fakePulse     = 1;
            var spellHandler    = new SpellHandler(caster, spell, NewSpellLine());
            var gameEventMgrSpy = GameEventMgrSpy.LoadAndReturn();

            Assert.IsTrue(spellHandler.CastSpell(target));
            target.fakeRegion.fakeElapsedTime = 2;
            spellHandler.StartSpell(target); //tick
            caster.OnPlayerMove();

            var eventNumberOnCaster = gameEventMgrSpy.GameObjectEventCollection[caster].Count;
            var eventNumberOnTarget = gameEventMgrSpy.GameObjectEventCollection[target].Count;

            Assert.AreEqual(0, eventNumberOnCaster, "Caster has not the right amount of event subscriptions");
            Assert.AreEqual(0, eventNumberOnTarget, "Target has not the right amount of event subscriptions");
        }
Beispiel #2
0
            public static GameEventMgrSpy LoadAndReturn()
            {
                var spy = new GameEventMgrSpy();

                LoadTestDouble(spy);
                return(spy);
            }
Beispiel #3
0
        public void CastSpell_FocusSpell_FiveEventsOnCasterAndOneEventOnTarget()
        {
            var caster = NewFakePlayer();
            var target = NewFakePlayer();
            var spell  = NewFakeSpell();

            spell.fakeIsFocus = true;
            spell.fakeTarget  = "Realm";
            spell.Duration    = 20;
            var spellHandler    = new SpellHandler(caster, spell, NewSpellLine());
            var gameEventMgrSpy = GameEventMgrSpy.LoadAndReturn();

            UtilChanceIsHundredPercent.Enable();

            spellHandler.CastSpell(target);

            var eventNumberOnCaster = gameEventMgrSpy.GameObjectEventCollection[caster].Count;
            var eventNumberOnTarget = gameEventMgrSpy.GameObjectEventCollection[target].Count;

            Assert.AreEqual(5, eventNumberOnCaster, "Caster has not the right amount of event subscriptions");
            Assert.AreEqual(1, eventNumberOnTarget, "Target has not the right amount of event subscriptions");
        }
Beispiel #4
0
        public void CastSpell_FocusSpellAndCasterMoves_AllEventsRemoved()
        {
            var caster = NewFakePlayer();
            var target = NewFakeNPC();
            var spell  = NewFakeSpell();

            spell.fakeIsFocus = true;
            spell.fakeTarget  = "realm";
            spell.Duration    = 20;
            var spellHandler    = new SpellHandler(caster, spell, NewSpellLine());
            var gameEventMgrSpy = GameEventMgrSpy.LoadAndReturn();

            FakeServer.LoadAndReturn().FakeServerRules.fakeIsAllowedToAttack = false;
            UtilChanceIsHundredPercent.Enable();

            spellHandler.CastSpell(target);
            caster.OnPlayerMove();

            var eventNumberOnCaster = gameEventMgrSpy.GameObjectEventCollection[caster].Count;
            var eventNumberOnTarget = gameEventMgrSpy.GameObjectEventCollection[target].Count;

            Assert.AreEqual(0, eventNumberOnCaster, "Caster has not the right amount of event subscriptions");
            Assert.AreEqual(0, eventNumberOnTarget, "Target has not the right amount of event subscriptions");
        }