Blame include/cppunit/extensions/TestFixtureFactory.h

Packit Service e31359
#ifndef CPPUNIT_EXTENSIONS_TESTFIXTUREFACTORY_H
Packit Service e31359
#define CPPUNIT_EXTENSIONS_TESTFIXTUREFACTORY_H
Packit Service e31359
Packit Service e31359
#include <cppunit/Portability.h>
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_NS_BEGIN
Packit Service e31359
Packit Service e31359
Packit Service e31359
class TestFixture;
Packit Service e31359
Packit Service e31359
/*! \brief Abstract TestFixture factory (Implementation).
Packit Service e31359
 *
Packit Service e31359
 * Implementation detail. Use by HelperMacros to handle TestFixture hierarchy.
Packit Service e31359
 */
Packit Service e31359
class TestFixtureFactory
Packit Service e31359
{
Packit Service e31359
public:
Packit Service e31359
  //! Creates a new TestFixture instance.
Packit Service e31359
  virtual TestFixture *makeFixture() =0;
Packit Service e31359
Packit Service e31359
  virtual ~TestFixtureFactory() {}
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
/*! \brief Concret TestFixture factory (Implementation).
Packit Service e31359
 *
Packit Service e31359
 * Implementation detail. Use by HelperMacros to handle TestFixture hierarchy.
Packit Service e31359
 */
Packit Service e31359
template<class TestFixtureType>
Packit Service e31359
class ConcretTestFixtureFactory : public CPPUNIT_NS::TestFixtureFactory
Packit Service e31359
{
Packit Service e31359
  /*! \brief Returns a new TestFixture instance.
Packit Service e31359
   * \return A new fixture instance. The fixture instance is returned by
Packit Service e31359
   *         the TestFixtureFactory passed on construction. The actual type 
Packit Service e31359
   *         is that of the fixture on which the static method suite() 
Packit Service e31359
   *         was called.
Packit Service e31359
   */
Packit Service e31359
  TestFixture *makeFixture()
Packit Service e31359
  {
Packit Service e31359
    return new TestFixtureType();
Packit Service e31359
  }
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_NS_END
Packit Service e31359
Packit Service e31359
Packit Service e31359
#endif // CPPUNIT_EXTENSIONS_TESTFIXTUREFACTORY_H
Packit Service e31359