AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
PoolQuestReloadFixTest Class Reference
Inheritance diagram for PoolQuestReloadFixTest:

Protected Member Functions

void SetUp () override
 
void TearDown () override
 

Protected Attributes

QuestRelationscreatureQuestMap = nullptr
 

Static Protected Attributes

static constexpr uint32 TEST_QUEST_ID = 99998
 
static constexpr uint32 TEST_CREATURE_ID = 99999
 
static constexpr uint32 TEST_POOL_ID = 99997
 

Detailed Description

Member Function Documentation

◆ SetUp()

void PoolQuestReloadFixTest::SetUp ( )
inlineoverrideprotected
220 {
221 creatureQuestMap = sObjectMgr->GetCreatureQuestRelationMap();
222
223 // Set up pool infrastructure (private members via friend access)
224 sPoolMgr->mPoolTemplate[TEST_POOL_ID].MaxLimit = 1;
225
226 // Create the pool group entry (Spawn1Object doesn't use pool group
227 // internals, it only reads mQuestCreatureRelation)
228 sPoolMgr->mPoolQuestGroups[TEST_POOL_ID].SetPoolId(TEST_POOL_ID);
229
230 sPoolMgr->mQuestSearchMap[TEST_QUEST_ID] = TEST_POOL_ID;
231
232 // Mark the quest as active/spawned
233 sPoolMgr->mSpawnedData.ActivateObject<Quest>(TEST_QUEST_ID, TEST_POOL_ID);
234
235 // Set up pool-side mapping: quest -> creature
236 sPoolMgr->mQuestCreatureRelation.insert(
237 PooledQuestRelation::value_type(TEST_QUEST_ID, TEST_CREATURE_ID));
238 }
#define sObjectMgr
Definition ObjectMgr.h:1712
#define sPoolMgr
Definition PoolMgr.h:165
static constexpr uint32 TEST_QUEST_ID
Definition PoolQuestReloadTest.cpp:261
static constexpr uint32 TEST_CREATURE_ID
Definition PoolQuestReloadTest.cpp:262
static constexpr uint32 TEST_POOL_ID
Definition PoolQuestReloadTest.cpp:263
QuestRelations * creatureQuestMap
Definition PoolQuestReloadTest.cpp:265
Definition QuestDef.h:210

References creatureQuestMap, sObjectMgr, sPoolMgr, TEST_CREATURE_ID, TEST_POOL_ID, and TEST_QUEST_ID.

◆ TearDown()

void PoolQuestReloadFixTest::TearDown ( )
inlineoverrideprotected
241 {
242 // Clean up all test state from the singletons
243 sPoolMgr->mPoolTemplate.erase(TEST_POOL_ID);
244 sPoolMgr->mPoolQuestGroups.erase(TEST_POOL_ID);
245 sPoolMgr->mQuestSearchMap.erase(TEST_QUEST_ID);
246 sPoolMgr->mSpawnedData.RemoveObject<Quest>(TEST_QUEST_ID, TEST_POOL_ID);
247
248 auto range = sPoolMgr->mQuestCreatureRelation.equal_range(TEST_QUEST_ID);
249 sPoolMgr->mQuestCreatureRelation.erase(range.first, range.second);
250
251 auto crRange = creatureQuestMap->equal_range(TEST_CREATURE_ID);
252 for (auto it = crRange.first; it != crRange.second; )
253 {
254 if (it->second == TEST_QUEST_ID)
255 it = creatureQuestMap->erase(it);
256 else
257 ++it;
258 }
259 }

References creatureQuestMap, sPoolMgr, TEST_CREATURE_ID, TEST_POOL_ID, and TEST_QUEST_ID.

Member Data Documentation

◆ creatureQuestMap

QuestRelations* PoolQuestReloadFixTest::creatureQuestMap = nullptr
protected

Referenced by SetUp(), and TearDown().

◆ TEST_CREATURE_ID

constexpr uint32 PoolQuestReloadFixTest::TEST_CREATURE_ID = 99999
staticconstexprprotected

Referenced by SetUp(), and TearDown().

◆ TEST_POOL_ID

constexpr uint32 PoolQuestReloadFixTest::TEST_POOL_ID = 99997
staticconstexprprotected

Referenced by SetUp(), and TearDown().

◆ TEST_QUEST_ID

constexpr uint32 PoolQuestReloadFixTest::TEST_QUEST_ID = 99998
staticconstexprprotected

Referenced by SetUp(), and TearDown().


The documentation for this class was generated from the following file: