CppUnit project page FAQ CppUnit home page

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Test Class Reference
[Browsing collected test result]

Base class for all test objects. More...

#include <Test.h>

Inheritance diagram for Test:

TestComposite TestDecorator TestLeaf TestSuite RepeatedTest TestSetUp TestCase TestRunner::WrappingSuite Orthodox< ClassUnderTest > TestCaller< Fixture > TestCaseDecorator ExceptionTestCaseDecorator< ExpectedException > List of all members.

Public Member Functions

virtual ~Test ()
virtual void run (TestResult *result)=0
 Run the test, collecting results.

virtual int countTestCases () const =0
 Return the number of test cases invoked by run().

virtual int getChildTestCount () const =0
 Returns the number of direct child of the test.

virtual TestgetChildTestAt (int index) const
 Returns the child test of the specified index.

virtual std::string getName () const =0
 Returns the test name.

virtual bool findTestPath (const std::string &testName, TestPath &testPath) const
 Finds the test with the specified name and its parents test.

virtual bool findTestPath (const Test *test, TestPath &testPath) const
 Finds the specified test and its parents test.

virtual TestfindTest (const std::string &testName) const
 Finds the test with the specified name in the hierarchy.

virtual TestPath resolveTestPath (const std::string &testPath) const
 Resolved the specified test path with this test acting as 'root'.


Protected Member Functions

virtual void checkIsValidIndex (int index) const
virtual TestdoGetChildTestAt (int index) const =0
 Returns the child test of the specified valid index.


Detailed Description

Base class for all test objects.

All test objects should be a subclass of Test. Some test objects, TestCase for example, represent one individual test. Other test objects, such as TestSuite, are comprised of several tests.

When a Test is run, the result is collected by a TestResult object.

See also:
TestCase

TestSuite


Constructor & Destructor Documentation

virtual Test::~Test  )  [inline, virtual]
 


Member Function Documentation

void Test::checkIsValidIndex int  index  )  const [protected, virtual]
 

Throws an exception if the specified index is invalid.

Parameters:
index Zero base index of a child test.
Exceptions:
std::out_of_range is index is < 0 or >= getChildTestCount().

virtual int Test::countTestCases  )  const [pure virtual]
 

Return the number of test cases invoked by run().

The base unit of testing is the class TestCase. This method returns the number of TestCase objects invoked by the run() method.

Implemented in RepeatedTest, TestDecorator, TestComposite, and TestLeaf.

virtual Test* Test::doGetChildTestAt int  index  )  const [protected, pure virtual]
 

Returns the child test of the specified valid index.

Parameters:
index Zero based valid index of the child test to return.
Returns:
Pointer on the test. Never NULL.

Implemented in TestDecorator, TestLeaf, TestRunner::WrappingSuite, and TestSuite.

Test * Test::findTest const std::string &  testName  )  const [virtual]
 

Finds the test with the specified name in the hierarchy.

Parameters:
testName Name of the test to find.
Returns:
Pointer on the first test found that is named testName. Never NULL.
Exceptions:
std::invalid_argument if no test named testName is found.

bool Test::findTestPath const Test test,
TestPath testPath
const [virtual]
 

Finds the specified test and its parents test.

Parameters:
test Test to find.
testPath If the test is found, then all the tests traversed to access test are added to testPath, including this and test.
Returns:
true if the specified test is found, false otherwise.

bool Test::findTestPath const std::string &  testName,
TestPath testPath
const [virtual]
 

Finds the test with the specified name and its parents test.

Parameters:
testName Name of the test to find.
testPath If the test is found, then all the tests traversed to access test are added to testPath, including this and test.
Returns:
true if a test with the specified name is found, false otherwise.

CPPUNIT_NS_BEGIN Test * Test::getChildTestAt int  index  )  const [virtual]
 

Returns the child test of the specified index.

This method test if the index is valid, then call doGetChildTestAt() if the index is valid. Otherwise std::out_of_range exception is thrown.

You should override doGetChildTestAt() method.

Parameters:
index Zero based index of the child test to return.
Returns:
Pointer on the test. Never NULL.
Exceptions:
std::out_of_range is index is < 0 or >= getChildTestCount().

virtual int Test::getChildTestCount  )  const [pure virtual]
 

Returns the number of direct child of the test.

Implemented in TestDecorator, TestLeaf, TestRunner::WrappingSuite, and TestSuite.

virtual std::string Test::getName  )  const [pure virtual]
 

Returns the test name.

Each test has a name. This name may be used to find the test in a suite or registry of tests.

Implemented in TestCaseDecorator, TestDecorator, TestCase, TestComposite, and TestRunner::WrappingSuite.

TestPath Test::resolveTestPath const std::string &  testPath  )  const [virtual]
 

Resolved the specified test path with this test acting as 'root'.

Parameters:
testPath Test path string to resolve.
Returns:
Resolved TestPath.
Exceptions:
std::invalid_argument if testPath could not be resolved.
See also:
TestPath.

virtual void Test::run TestResult result  )  [pure virtual]
 

Run the test, collecting results.

Implemented in RepeatedTest, TestDecorator, TestSetUp, TestCase, TestComposite, and TestRunner::WrappingSuite.


The documentation for this class was generated from the following files:
SourceForge Logo hosts this site. Send comments to:
CppUnit Developers