| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #ifndef CPPUNIT_TESTSUITE_H // -*- C++ -*-
- #define CPPUNIT_TESTSUITE_H
- #include <cppunit/Portability.h>
- #if CPPUNIT_NEED_DLL_DECL
- #pragma warning( push )
- #pragma warning( disable: 4251 ) // X needs to have dll-interface to be used by clients of class Z
- #endif
- #include <cppunit/TestComposite.h>
- #include <cppunit/portability/CppUnitVector.h>
- CPPUNIT_NS_BEGIN
- #if CPPUNIT_NEED_DLL_DECL
- // template class CPPUNIT_API std::vector<Test *>;
- #endif
- /*! \brief A Composite of Tests.
- * \ingroup CreatingTestSuite
- *
- * It runs a collection of test cases. Here is an example.
- * \code
- * CppUnit::TestSuite *suite= new CppUnit::TestSuite();
- * suite->addTest(new CppUnit::TestCaller<MathTest> (
- * "testAdd", testAdd));
- * suite->addTest(new CppUnit::TestCaller<MathTest> (
- * "testDivideByZero", testDivideByZero));
- * \endcode
- * Note that \link TestSuite TestSuites \endlink assume lifetime
- * control for any tests added to them.
- *
- * TestSuites do not register themselves in the TestRegistry.
- * \see Test
- * \see TestCaller
- */
- class CPPUNIT_API TestSuite : public TestComposite
- {
- public:
- /*! Constructs a test suite with the specified name.
- */
- TestSuite( std::string name = "" );
- ~TestSuite();
- /*! Adds the specified test to the suite.
- * \param test Test to add. Must not be \c NULL.
- */
- void addTest( Test *test );
- /*! Returns the list of the tests (DEPRECATED).
- * \deprecated Use getChildTestCount() & getChildTestAt() of the
- * TestComposite interface instead.
- * \return Reference on a vector that contains the tests of the suite.
- */
- const CppUnitVector<Test *> &getTests() const;
- /*! Destroys all the tests of the suite.
- */
- virtual void deleteContents();
- int getChildTestCount() const;
- Test *doGetChildTestAt( int index ) const;
- private:
- CppUnitVector<Test *> m_tests;
- };
- CPPUNIT_NS_END
- #if CPPUNIT_NEED_DLL_DECL
- #pragma warning( pop )
- #endif
- #endif // CPPUNIT_TESTSUITE_H
|