|
Packit |
8c9aa0 |
#ifndef CPPUNIT_TESTRESULTCOLLECTOR_H
|
|
Packit |
8c9aa0 |
#define CPPUNIT_TESTRESULTCOLLECTOR_H
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
#include <cppunit/Portability.h>
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
#if CPPUNIT_NEED_DLL_DECL
|
|
Packit |
8c9aa0 |
#pragma warning( push )
|
|
Packit |
8c9aa0 |
#pragma warning( disable: 4251 4660 ) // X needs to have dll-interface to be used by clients of class Z
|
|
Packit |
8c9aa0 |
#endif
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
#include <cppunit/TestSuccessListener.h>
|
|
Packit |
8c9aa0 |
#include <deque>
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_NS_BEGIN
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/*! \brief Collects test result.
|
|
Packit |
8c9aa0 |
* \ingroup WritingTestResult
|
|
Packit |
8c9aa0 |
* \ingroup BrowsingCollectedTestResult
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* A TestResultCollector is a TestListener which collects the results of executing
|
|
Packit |
8c9aa0 |
* a test case. It is an instance of the Collecting Parameter pattern.
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* The test framework distinguishes between failures and errors.
|
|
Packit |
8c9aa0 |
* A failure is anticipated and checked for with assertions. Errors are
|
|
Packit |
8c9aa0 |
* unanticipated problems signified by exceptions that are not generated
|
|
Packit |
8c9aa0 |
* by the framework.
|
|
Packit |
8c9aa0 |
* \see TestListener, TestFailure.
|
|
Packit |
8c9aa0 |
*/
|
|
Packit |
8c9aa0 |
class CPPUNIT_API TestResultCollector : public TestSuccessListener
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
public:
|
|
Packit |
8c9aa0 |
typedef std::deque<TestFailure *> TestFailures;
|
|
Packit |
8c9aa0 |
typedef std::deque<Test *> Tests;
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/*! Constructs a TestResultCollector object.
|
|
Packit |
8c9aa0 |
*/
|
|
Packit |
8c9aa0 |
TestResultCollector( SynchronizationObject *syncObject = 0 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/// Destructor.
|
|
Packit |
8c9aa0 |
virtual ~TestResultCollector();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void startTest( Test *test );
|
|
Packit |
8c9aa0 |
void addFailure( const TestFailure &failure );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
virtual void reset();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
virtual int runTests() const;
|
|
Packit |
8c9aa0 |
virtual int testErrors() const;
|
|
Packit |
8c9aa0 |
virtual int testFailures() const;
|
|
Packit |
8c9aa0 |
virtual int testFailuresTotal() const;
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
virtual const TestFailures& failures() const;
|
|
Packit |
8c9aa0 |
virtual const Tests &tests() const;
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
protected:
|
|
Packit |
8c9aa0 |
void freeFailures();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
Tests m_tests;
|
|
Packit |
8c9aa0 |
TestFailures m_failures;
|
|
Packit |
8c9aa0 |
int m_testErrors;
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
private:
|
|
Packit |
8c9aa0 |
/// Prevents the use of the copy constructor.
|
|
Packit |
8c9aa0 |
TestResultCollector( const TestResultCollector © );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/// Prevents the use of the copy operator.
|
|
Packit |
8c9aa0 |
void operator =( const TestResultCollector © );
|
|
Packit |
8c9aa0 |
};
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_NS_END
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
#if CPPUNIT_NEED_DLL_DECL
|
|
Packit |
8c9aa0 |
#pragma warning( pop )
|
|
Packit |
8c9aa0 |
#endif
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
#endif // CPPUNIT_TESTRESULTCOLLECTOR_H
|