Fission FSN
Loading...
Searching...
No Matches
gfCAutoTestAuditComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCAutoTestAuditComponent.h
4*
5* Purpose: Tallies what an auto-test run achieved and emits a
6* pass/fail report. Expectations come from the title's
7* own collectionTypes file and the bonus entities in
8* each level, so no per-title configuration is needed.
9*
10*********************************************************************/
11
12#ifndef gfCAutoTestAuditComponenthdr
13#define gfCAutoTestAuditComponenthdr
14
15#include <map>
16#include <vector>
17
20
21
23{
24 friend class fsCComponentFactory;
25
26public:
27
28 static const fsCUniqueId mTypeId;
29
30 static fsIComponent* create(fsCEntity* pParent);
31
33
34 void failureRecord(const fsStr& pDescription);
35
36 // Must run before the test profile - which it reads - is deleted.
37 void reportEmit();
38
40
41protected:
42
43 void listenersRegisterDo() override;
44 void listenersDeregisterDo() override;
45 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
46 const fsIMessageDispatcher::sMessageParameters& pParam) override;
47
49
50private:
51
52 struct sTagRule
53 {
54 fsStr mTag;
55 fsStr mAchievementKey;
56 fsStr mStat;
57 };
58
59 struct sTally
60 {
61 fsS32 mExpected = 0;
62 fsS32 mCollected = 0;
63 };
64
65 void rulesLoad();
66
67 void levelFlush();
68 void levelBegin(const fsStr& pLevelName);
69
70 std::vector<sTagRule> mRules;
71
72 fsStr mLevelName;
73 fsS32 mLevelCount;
74
75 std::map<fsStr, sTally> mLevelTally;
76 std::map<fsStr, sTally> mRunTally;
77
78 std::vector<fsStr> mFailures;
79
80 // Test-complete and teardown both ask; first one wins.
81 fsBool mReported;
82
83 static gfCAutoTestAuditComponent* mInstance;
84};
85
86#endif
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
fsIMessageListenerComponent(fsCEntity *pParent)
Definition fsIMessageListenerComponent.cpp:9
Definition fsStr.h:23
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition gfCAutoTestAuditComponent.cpp:60
void reportEmit()
Definition gfCAutoTestAuditComponent.cpp:145
static gfCAutoTestAuditComponent * instanceGet()
Definition gfCAutoTestAuditComponent.cpp:22
friend class fsCComponentFactory
Definition gfCAutoTestAuditComponent.h:24
void listenersRegisterDo() override
Definition gfCAutoTestAuditComponent.cpp:46
static fsIComponent * create(fsCEntity *pParent)
Definition gfCAutoTestAuditComponent.cpp:216
virtual ~gfCAutoTestAuditComponent()
Definition gfCAutoTestAuditComponent.cpp:230
gfCAutoTestAuditComponent(fsCEntity *pParent)
Definition gfCAutoTestAuditComponent.cpp:221
void listenersDeregisterDo() override
Definition gfCAutoTestAuditComponent.cpp:53
static const fsCUniqueId mTypeId
Definition gfCAutoTestAuditComponent.h:28
void failureRecord(const fsStr &pDescription)
Definition gfCAutoTestAuditComponent.cpp:139
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32