Blame include/cppunit/extensions/TestDecorator.h

Packit 8c9aa0
#ifndef CPPUNIT_EXTENSIONS_TESTDECORATOR_H
Packit 8c9aa0
#define CPPUNIT_EXTENSIONS_TESTDECORATOR_H
Packit 8c9aa0
Packit 8c9aa0
#include <cppunit/Portability.h>
Packit 8c9aa0
#include <cppunit/Test.h>
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_NS_BEGIN
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
class TestResult;
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/*! \brief  Decorator for Tests.
Packit 8c9aa0
 *
Packit 8c9aa0
 * TestDecorator provides an alternate means to extend functionality
Packit 8c9aa0
 * of a test class without subclassing the test.  Instead, one can
Packit 8c9aa0
 * subclass the decorater and use it to wrap the test class.
Packit 8c9aa0
 *
Packit 8c9aa0
 * Assumes ownership of the test it decorates
Packit 8c9aa0
 */ 
Packit 8c9aa0
class CPPUNIT_API TestDecorator : public Test
Packit 8c9aa0
{
Packit 8c9aa0
public:
Packit 8c9aa0
  TestDecorator( Test *test );
Packit 8c9aa0
  ~TestDecorator();
Packit 8c9aa0
Packit 8c9aa0
  int countTestCases() const;
Packit 8c9aa0
Packit 8c9aa0
  std::string getName() const;
Packit 8c9aa0
Packit 8c9aa0
  void run( TestResult *result );
Packit 8c9aa0
Packit 8c9aa0
  int getChildTestCount() const;
Packit 8c9aa0
Packit 8c9aa0
protected:
Packit 8c9aa0
  Test *doGetChildTestAt( int index ) const;
Packit 8c9aa0
Packit 8c9aa0
  Test *m_test;
Packit 8c9aa0
Packit 8c9aa0
private:
Packit 8c9aa0
  TestDecorator( const TestDecorator &);
Packit 8c9aa0
  void operator =( const TestDecorator & );
Packit 8c9aa0
};
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_NS_END
Packit 8c9aa0
Packit 8c9aa0
#endif
Packit 8c9aa0