source: trunk/contrib/cppunit-1.12.2/include/cppunit/TestSuite.h @ 876

Last change on this file since 876 was 876, checked in by sam, 9 years ago

contrib: add a precompiled Win32 version of CppUnit and update build system
accordingly.

File size: 1.9 KB
Line 
1#ifndef CPPUNIT_TESTSUITE_H    // -*- C++ -*-
2#define CPPUNIT_TESTSUITE_H
3
4#include <cppunit/Portability.h>
5
6#if CPPUNIT_NEED_DLL_DECL
7#pragma warning( push )
8#pragma warning( disable: 4251 )  // X needs to have dll-interface to be used by clients of class Z
9#endif
10
11#include <cppunit/TestComposite.h>
12#include <cppunit/portability/CppUnitVector.h>
13
14CPPUNIT_NS_BEGIN
15
16
17#if CPPUNIT_NEED_DLL_DECL
18//  template class CPPUNIT_API std::vector<Test *>;
19#endif
20
21
22/*! \brief A Composite of Tests.
23 * \ingroup CreatingTestSuite
24 *
25 * It runs a collection of test cases. Here is an example.
26 * \code
27 * CppUnit::TestSuite *suite= new CppUnit::TestSuite();
28 * suite->addTest(new CppUnit::TestCaller<MathTest> (
29 *                  "testAdd", testAdd));
30 * suite->addTest(new CppUnit::TestCaller<MathTest> (
31 *                  "testDivideByZero", testDivideByZero));
32 * \endcode
33 * Note that \link TestSuite TestSuites \endlink assume lifetime
34 * control for any tests added to them.
35 *
36 * TestSuites do not register themselves in the TestRegistry.
37 * \see Test
38 * \see TestCaller
39 */
40class CPPUNIT_API TestSuite : public TestComposite
41{
42public:
43  /*! Constructs a test suite with the specified name.
44   */
45  TestSuite( std::string name = "" );
46
47  ~TestSuite();
48
49  /*! Adds the specified test to the suite.
50   * \param test Test to add. Must not be \c NULL.
51    */
52  void addTest( Test *test );
53
54  /*! Returns the list of the tests (DEPRECATED).
55   * \deprecated Use getChildTestCount() & getChildTestAt() of the
56   *             TestComposite interface instead.
57   * \return Reference on a vector that contains the tests of the suite.
58   */
59  const CppUnitVector<Test *> &getTests() const;
60
61  /*! Destroys all the tests of the suite.
62   */
63  virtual void deleteContents();
64
65  int getChildTestCount() const;
66
67  Test *doGetChildTestAt( int index ) const;
68
69private:
70  CppUnitVector<Test *> m_tests;
71};
72
73
74CPPUNIT_NS_END
75
76#if CPPUNIT_NEED_DLL_DECL
77#pragma warning( pop )
78#endif
79
80#endif // CPPUNIT_TESTSUITE_H
Note: See TracBrowser for help on using the repository browser.