81 lines
1.9 KiB
C++
81 lines
1.9 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
|