Blame include/cppunit/extensions/TestFixtureFactory.h

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