Imported Upstream version 2.81
[platform/upstream/libbullet.git] / UnitTests / cppunit / include / cppunit / TestComposite.h
1 #ifndef CPPUNIT_TESTCOMPSITE_H    // -*- C++ -*-
2 #define CPPUNIT_TESTCOMPSITE_H
3
4 #include <cppunit/Test.h>
5 #include <string>
6
7 CPPUNIT_NS_BEGIN
8
9
10 /*! \brief A Composite of Tests.
11  *
12  * Base class for all test composites. Subclass this class if you need to implement
13  * a custom TestSuite.
14  * 
15  * \see Test, TestSuite.
16  */
17 class CPPUNIT_API TestComposite : public Test
18 {
19 public:
20   TestComposite( const std::string &name = "" );
21
22   ~TestComposite();
23
24   void run( TestResult *result );
25
26   int countTestCases() const;
27   
28   std::string getName() const;
29
30 private:
31   TestComposite( const TestComposite &other );
32   TestComposite &operator =( const TestComposite &other ); 
33
34   virtual void doStartSuite( TestResult *controller );
35   virtual void doRunChildTests( TestResult *controller );
36   virtual void doEndSuite( TestResult *controller );
37
38 private:
39   const std::string m_name;
40 };
41
42
43 CPPUNIT_NS_END
44
45 #endif // CPPUNIT_TESTCOMPSITE_H