![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
Unit tests for Arcane Potency proc behavior. More...
Go to the source code of this file.
Classes | |
| class | ArcanePotencyProcTest |
Functions | |
| TEST_F (ArcanePotencyProcTest, ProcEntry_HasReqSpellmodAttribute) | |
| TEST_F (ArcanePotencyProcTest, ProcEntry_CastPhaseOnly) | |
| TEST_F (ArcanePotencyProcTest, ProcEntry_MageFamily) | |
| TEST_F (ArcanePotencyProcTest, ProcEntry_BothRanksIdentical) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_Fireball_Matches) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_Frostbolt_Matches) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_ArcaneBlast_Matches) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_ArcaneExplosion_Matches) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_FrostfireBolt_Matches) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_FireBlast_Matches) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_Scorch_Matches) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_ArcaneMissiles_DoesNotMatch) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_IceLance_DoesNotMatch) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_ArcaneBarrage_DoesNotMatch) | |
| TEST_F (ArcanePotencyProcTest, FamilyMask_NonMageSpell_DoesNotMatch) | |
| TEST_F (ArcanePotencyProcTest, Phase_TriggersOnCast) | |
| TEST_F (ArcanePotencyProcTest, Phase_DoesNotTriggerOnHit) | |
| TEST_F (ArcanePotencyProcTest, Phase_DoesNotTriggerOnFinish) | |
| TEST_F (ArcanePotencyProcTest, ReqSpellmod_AuraWithCharges_BlocksWithoutAppliedMod) | |
| TEST_F (ArcanePotencyProcTest, ReqSpellmod_AuraWithoutCharges_SkipsCheck) | |
| TEST_F (ArcanePotencyProcTest, MaskBits_CorrectBitsSet) | |
| TEST_F (ArcanePotencyProcTest, MaskBits_CorrectBitsNotSet) | |
Unit tests for Arcane Potency proc behavior.
Arcane Potency (57529/57531) buffs should only be consumed by the spell that was actually affected by the crit bonus, not by the same cast that triggered them. This is achieved via PROC_ATTR_REQ_SPELLMOD (0x08) which requires the proccing aura to be in the triggering spell's m_appliedMods.
The crit aura registration in SpellDoneCritChance ensures that only spells whose crit chance was actually modified by Arcane Potency will have it in their m_appliedMods set.
References:
Definition in file SpellProcArcanePotencyTest.cpp.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_ArcaneBarrage_DoesNotMatch | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_ArcaneBlast_Matches | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_ArcaneExplosion_Matches | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_ArcaneMissiles_DoesNotMatch | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_Fireball_Matches | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_FireBlast_Matches | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_Frostbolt_Matches | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_FrostfireBolt_Matches | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_IceLance_DoesNotMatch | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_NonMageSpell_DoesNotMatch | |||
| ) |
| TEST_F | ( | ArcanePotencyProcTest | , |
| FamilyMask_Scorch_Matches | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| MaskBits_CorrectBitsNotSet | |||
| ) |
| TEST_F | ( | ArcanePotencyProcTest | , |
| MaskBits_CorrectBitsSet | |||
| ) |
| TEST_F | ( | ArcanePotencyProcTest | , |
| Phase_DoesNotTriggerOnFinish | |||
| ) |
References SpellProcEntryBuilder::Build(), EXPECT_PROC_DOES_NOT_TRIGGER, ProcScenarioBuilder::OnFinish(), ProcScenarioBuilder::OnSpellDamage(), PROC_ATTR_REQ_SPELLMOD, PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG, PROC_SPELL_PHASE_CAST, SpellProcEntryBuilder::WithAttributesMask(), SpellProcEntryBuilder::WithProcFlags(), and SpellProcEntryBuilder::WithSpellPhaseMask().
| TEST_F | ( | ArcanePotencyProcTest | , |
| Phase_DoesNotTriggerOnHit | |||
| ) |
References SpellProcEntryBuilder::Build(), EXPECT_PROC_DOES_NOT_TRIGGER, ProcScenarioBuilder::OnHit(), ProcScenarioBuilder::OnSpellDamage(), PROC_ATTR_REQ_SPELLMOD, PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG, PROC_SPELL_PHASE_CAST, SpellProcEntryBuilder::WithAttributesMask(), ProcScenarioBuilder::WithNormalHit(), SpellProcEntryBuilder::WithProcFlags(), and SpellProcEntryBuilder::WithSpellPhaseMask().
| TEST_F | ( | ArcanePotencyProcTest | , |
| Phase_TriggersOnCast | |||
| ) |
References SpellProcEntryBuilder::Build(), EXPECT_PROC_TRIGGERS, ProcScenarioBuilder::OnCast(), ProcScenarioBuilder::OnSpellDamage(), PROC_ATTR_REQ_SPELLMOD, PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG, PROC_SPELL_PHASE_CAST, SpellProcEntryBuilder::WithAttributesMask(), SpellProcEntryBuilder::WithProcFlags(), and SpellProcEntryBuilder::WithSpellPhaseMask().
| TEST_F | ( | ArcanePotencyProcTest | , |
| ProcEntry_BothRanksIdentical | |||
| ) |
| TEST_F | ( | ArcanePotencyProcTest | , |
| ProcEntry_CastPhaseOnly | |||
| ) |
References PROC_SPELL_PHASE_CAST.
| TEST_F | ( | ArcanePotencyProcTest | , |
| ProcEntry_HasReqSpellmodAttribute | |||
| ) |
References PROC_ATTR_REQ_SPELLMOD.
| TEST_F | ( | ArcanePotencyProcTest | , |
| ProcEntry_MageFamily | |||
| ) |
References SPELLFAMILY_MAGE.
| TEST_F | ( | ArcanePotencyProcTest | , |
| ReqSpellmod_AuraWithCharges_BlocksWithoutAppliedMod | |||
| ) |
References AuraStubBuilder::Build(), PROC_ATTR_REQ_SPELLMOD, AuraStubBuilder::WithCharges(), and AuraStubBuilder::WithId().
| TEST_F | ( | ArcanePotencyProcTest | , |
| ReqSpellmod_AuraWithoutCharges_SkipsCheck | |||
| ) |
References AuraStubBuilder::Build(), AuraStubBuilder::WithCharges(), and AuraStubBuilder::WithId().