summaryrefslogtreecommitdiff
path: root/include/cppunit/TestSuite.h
diff options
context:
space:
mode:
authorBaptiste Lepilleur <gaiacrtn@free.fr>2002-04-12 18:28:48 +0000
committerBaptiste Lepilleur <gaiacrtn@free.fr>2002-04-12 18:28:48 +0000
commited406a2966e62072fa6afaca8abc578db7c0c9fb (patch)
treeab8d2ffb462c3c955b2e339e8cc19f1a6be8bd0f /include/cppunit/TestSuite.h
parentfc9c76622b19adfcdebce682d9d49db8fb9336ef (diff)
downloadcppunit-ed406a2966e62072fa6afaca8abc578db7c0c9fb.tar.gz
Makefile.
Makefile.am: added examples/qt to tar ball release. * TODO: heavily updated. * contrib/msvc/CppUnit*.wwtpl: changed base class for unit test to TestFixture. * include/cppunit/Test.h: removed toString() method. Not used by the framework and source of confusions with getName(). Added getChildTestCount() and getChildTestAt(), introducing the composite pattern at top level. Added utility methods findTest() and findTestPath(). * src/cppunit/Test.cpp: added. Implementation of new utility methods. * include/cppunit/TestCase.h: * src/cppunit/TestCase.cpp: inherits TestLeaf. Removed toString(), run(void) and defaultResult(). Removed default constructor. * src/cppunit/TestCase.cpp: * src/cppunit/TestSuite.cpp: fixed some includes that used "" instead of <>. * include/cppunit/TestComposite.h: * src/cppunit/TestComposite.cpp: added. Common implementation of Test for composite tests (TestSuite). * include/cppunit/TestFailure.h: * src/cppunit/TestFailure.cpp: removed toString(). * include/cppunit/TestLeaf.h: * src/cppunit/TestLeaf.cpp: added. Common implementation of Test for single test (TestCase). * include/cppunit/TestListener.h: added TimingListener example to documentation. * include/cppunit/TestPath.h: * src/cppunit/TestPath.cpp: added. List of test traversed to access a test in the test hierarchy. * include/cppunit/TestRunner.h: added. Generic TestRunner. * src/cppunit/TestRunner.cpp: moved to TextTestRunner.cpp. Added new implementation of includecppunit/TestRunner.h. * include/cppunit/TestSuite.h: * src/cppunit/TestSuite.cpp: inherits TestComposite and implements new Test interface. Removed toString(). * src/cppunit/TextTestRunner.cpp: moved from TestRunner.cpp. Implementation of include/cppunit/ui/text/TestRunner.h. * include/cppunit/extensions/RepeatedTest.h: * src/cppunit/RepeatedTest.cpp: removed toString(). * include/cppunit/extensions/TestDecorator.h: inherits TestLeaf. Removed toString() * include/cppunit/XmlOutputter.h: * src/cppunit/XmlOutputter.cpp: * examples/cppunittest/XmlOutputterTest.cpp: * examples/cppunittest/XmlOutputterTest.h: XML outputter now escape node content. Add unit test for that bug (#540944). Added style sheet support. Modified XML structure: failure message as its own element. * src/msvc/testrunner/TestRunnerModel.h: * src/msvc/testrunner/TestRunnerModel.cpp: used Test::findTest() to find a test by name instead of using RTTI. Added toAnsiString() for convertion when compiling as UNICODE. * src/msvc/testrunner/TreeHierarchyDlg.h: * src/msvc/testrunner/TreeHierarchyDlg.cpp: used new composite interface of Test to explorer the test hierarchy instead of RTTI. * examples/cppunittest/TestPathTest.h: * examples/cppunittest/TestPathTest.cpp: added, unit tests for TestPath. * examples/cppunittest/TestCaseTest.h: * examples/cppunittest/TestCaseTest.cpp: added test for TestLeaf. * examples/cppunittest/TestSuiteTest.h: * examples/cppunittest/TestSuiteTest.cpp: added test for TestComposite and new Test interface.
Diffstat (limited to 'include/cppunit/TestSuite.h')
-rw-r--r--include/cppunit/TestSuite.h36
1 files changed, 20 insertions, 16 deletions
diff --git a/include/cppunit/TestSuite.h b/include/cppunit/TestSuite.h
index 3cd77cb..7fdafc9 100644
--- a/include/cppunit/TestSuite.h
+++ b/include/cppunit/TestSuite.h
@@ -8,14 +8,11 @@
#pragma warning( disable: 4251 ) // X needs to have dll-interface to be used by clients of class Z
#endif
-#include <cppunit/Test.h>
+#include <cppunit/TestComposite.h>
#include <vector>
-#include <string>
namespace CppUnit {
-class TestResult;
-
#if CPPUNIT_NEED_DLL_DECL
template class CPPUNIT_API std::vector<Test *>;
#endif
@@ -32,34 +29,41 @@ class TestResult;
* suite->addTest(new CppUnit::TestCaller<MathTest> (
* "testDivideByZero", testDivideByZero));
* \endcode
- * Note that TestSuites assume lifetime
+ * Note that \link TestSuite TestSuites 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 Test
+class CPPUNIT_API TestSuite : public TestComposite
{
public:
+ /*! Constructs a test suite with the specified name.
+ */
TestSuite( std::string name = "" );
- ~TestSuite();
- void run( TestResult *result );
- int countTestCases() const;
- std::string getName() const;
- std::string toString() const;
+ ~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 std::vector<Test *> &getTests() const;
+ /*! Destroys all the tests of the suite.
+ */
virtual void deleteContents();
-private:
- TestSuite( const TestSuite &other );
- TestSuite &operator =( const TestSuite &other );
+ int getChildTestCount() const;
+
+ Test *doGetChildTestAt( int index ) const;
private:
std::vector<Test *> m_tests;