diff options
Diffstat (limited to '')
-rw-r--r-- | src/stable/unitsuite.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/stable/unitsuite.h b/src/stable/unitsuite.h index ea5e389..b1e2953 100644 --- a/src/stable/unitsuite.h +++ b/src/stable/unitsuite.h | |||
@@ -17,6 +17,7 @@ | |||
17 | 17 | ||
18 | namespace Bu | 18 | namespace Bu |
19 | { | 19 | { |
20 | class Json; | ||
20 | /** | 21 | /** |
21 | * Provides a unit testing framework. This is pretty easy to use, probably | 22 | * Provides a unit testing framework. This is pretty easy to use, probably |
22 | * the best way to get started is to use ch to generate a template, or use | 23 | * the best way to get started is to use ch to generate a template, or use |
@@ -96,6 +97,8 @@ namespace Bu | |||
96 | protected: | 97 | protected: |
97 | void add( Test fTest, const Bu::String &sName, Expect e=expectPass ); | 98 | void add( Test fTest, const Bu::String &sName, Expect e=expectPass ); |
98 | void setName( const String &sName ); | 99 | void setName( const String &sName ); |
100 | String getName() const; | ||
101 | virtual void cleanup(); | ||
99 | 102 | ||
100 | void dispProgress(); | 103 | void dispProgress(); |
101 | void setStepCount( int iSteps ); | 104 | void setStepCount( int iSteps ); |
@@ -104,6 +107,7 @@ namespace Bu | |||
104 | 107 | ||
105 | private: | 108 | private: |
106 | int onListCases( Bu::Array<Bu::String> aParam ); | 109 | int onListCases( Bu::Array<Bu::String> aParam ); |
110 | int onPrintName( Bu::Array<Bu::String> aParam ); | ||
107 | int onAddTest( Bu::Array<Bu::String> aParam ); | 111 | int onAddTest( Bu::Array<Bu::String> aParam ); |
108 | 112 | ||
109 | private: | 113 | private: |
@@ -128,6 +132,75 @@ namespace Bu | |||
128 | time_t tLastUpdate; | 132 | time_t tLastUpdate; |
129 | 133 | ||
130 | Bu::Hash<Bu::String, bool> hSelTests; | 134 | Bu::Hash<Bu::String, bool> hSelTests; |
135 | |||
136 | public: | ||
137 | class Report | ||
138 | { | ||
139 | public: | ||
140 | Report(); | ||
141 | virtual ~Report(); | ||
142 | |||
143 | virtual void suiteStarting( const UnitSuite &rSuite, | ||
144 | const TestList &lTests )=0; | ||
145 | virtual void testStarting( const TestInfo &rTest )=0; | ||
146 | virtual void updateProgress( int iProgress, int iStepCount )=0; | ||
147 | virtual void testEnded( const TestInfo &rTest )=0; | ||
148 | virtual void testEnded( const TestInfo &rTest, | ||
149 | const Failed &rFail )=0; | ||
150 | virtual void testException( const TestInfo &rTest, | ||
151 | std::exception &e )=0; | ||
152 | virtual void suiteEnded()=0; | ||
153 | }; | ||
154 | |||
155 | class ReportConsole : public Report | ||
156 | { | ||
157 | public: | ||
158 | ReportConsole(); | ||
159 | virtual ~ReportConsole(); | ||
160 | |||
161 | virtual void suiteStarting( const UnitSuite &rSuite, | ||
162 | const TestList &lTests ); | ||
163 | virtual void testStarting( const TestInfo &rTest ); | ||
164 | virtual void updateProgress( int iProgress, int iStepCount ); | ||
165 | virtual void testEnded( const TestInfo &rTest ); | ||
166 | virtual void testEnded( const TestInfo &rTest, | ||
167 | const Failed &rFail ); | ||
168 | virtual void testException( const TestInfo &rTest, | ||
169 | std::exception &e ); | ||
170 | virtual void suiteEnded(); | ||
171 | |||
172 | private: | ||
173 | int iTestCount; | ||
174 | int iNameWidth; | ||
175 | int iEPass; | ||
176 | int iEFail; | ||
177 | int iUPass; | ||
178 | int iUFail; | ||
179 | }; | ||
180 | |||
181 | class ReportJson : public Report | ||
182 | { | ||
183 | public: | ||
184 | ReportJson(); | ||
185 | virtual ~ReportJson(); | ||
186 | |||
187 | virtual void suiteStarting( const UnitSuite &rSuite, | ||
188 | const TestList &lTests ); | ||
189 | virtual void testStarting( const TestInfo &rTest ); | ||
190 | virtual void updateProgress( int iProgress, int iStepCount ); | ||
191 | virtual void testEnded( const TestInfo &rTest ); | ||
192 | virtual void testEnded( const TestInfo &rTest, | ||
193 | const Failed &rFail ); | ||
194 | virtual void testException( const TestInfo &rTest, | ||
195 | std::exception &e ); | ||
196 | virtual void suiteEnded(); | ||
197 | |||
198 | private: | ||
199 | class Bu::Json *pReport; | ||
200 | }; | ||
201 | |||
202 | private: | ||
203 | Report *pReport; | ||
131 | }; | 204 | }; |
132 | 205 | ||
133 | Bu::Formatter &operator<<( Bu::Formatter &f, const Bu::UnitSuite::Expect &e ); | 206 | Bu::Formatter &operator<<( Bu::Formatter &f, const Bu::UnitSuite::Expect &e ); |