00001
#ifndef CPPUNIT_TESTRESULTCOLLECTOR_H
00002
#define CPPUNIT_TESTRESULTCOLLECTOR_H
00003
00004
#include <cppunit/Portability.h>
00005
00006
#if CPPUNIT_NEED_DLL_DECL
00007
#pragma warning( push )
00008
#pragma warning( disable: 4251 4660 ) // X needs to have dll-interface to be used by clients of class Z
00009
#endif
00010
00011
#include <cppunit/TestSuccessListener.h>
00012
#include <cppunit/portability/CppUnitDeque.h>
00013
00014
00015
CPPUNIT_NS_BEGIN
00016
00017
#if CPPUNIT_NEED_DLL_DECL
00018
00019
00020
#endif
00021
00022
00036 class CPPUNIT_API TestResultCollector :
public TestSuccessListener
00037 {
00038
public:
00039 typedef CppUnitDeque<TestFailure *> TestFailures;
00040 typedef CppUnitDeque<Test *> Tests;
00041
00042
00045 TestResultCollector( SynchronizationObject *syncObject = 0 );
00046
00048
virtual ~TestResultCollector();
00049
00050
void startTest(
Test *test );
00051
void addFailure(
const TestFailure &failure );
00052
00053
virtual void reset();
00054
00055
virtual int runTests() const;
00056 virtual
int testErrors() const;
00057 virtual
int testFailures() const;
00058 virtual
int testFailuresTotal() const;
00059
00060 virtual const TestFailures& failures() const;
00061 virtual const Tests &tests() const;
00062
00063 protected:
00064 Tests m_tests;
00065 TestFailures m_failures;
00066 int m_testErrors;
00067
00068 private:
00070 TestResultCollector( const TestResultCollector © );
00071
00073
void operator =( const TestResultCollector © );
00074 };
00075
00076
00077
00078 CPPUNIT_NS_END
00079
00080 #if CPPUNIT_NEED_DLL_DECL
00081 #pragma warning( pop )
00082 #endif
00083
00084
00085 #endif