80 lines
4.1 KiB
C++
80 lines
4.1 KiB
C++
#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
|