diff options
Diffstat (limited to 'src/stable/unitsuite.h')
| -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 ); |
