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"); }
public static GameEventMgrSpy LoadAndReturn() { var spy = new GameEventMgrSpy(); LoadTestDouble(spy); return(spy); }
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"); }
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"); }