CppUnit project page | FAQ | CppUnit home page

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# TestPath Class Reference
[Executing test]

A List of Test representing a path to access a Test. More...

`#include <TestPath.h>`

List of all members.

## Public Member Functions
| TestPath ()
| Constructs an invalid path.
| TestPath (Test *root)
| Constructs a valid path.
| TestPath (const TestPath &otherPath, int indexFirst, int count=-1)
| Constructs a path using a slice of another path.
| TestPath (Test *searchRoot, const std::string &pathAsString)
| Resolves a path from a string returned by toString().
| TestPath (const TestPath &other)
| Copy constructor.
virtual | ~TestPath ()
virtual bool | isValid () const
| Tests if the path contains at least one test.
virtual void | add (Test *test)
| Adds a test to the path.
virtual void | add (const TestPath &path)
| Adds all the tests of the specified path.
virtual void | insert (Test *test, int index)
| Inserts a test at the specified index.
virtual void | insert (const TestPath &path, int index)
| Inserts all the tests at the specified path at a given index.
virtual void | removeTests ()
| Removes all the test from the path.
virtual void | removeTest (int index)
| Removes the test at the specified index of the path.
virtual void | up ()
  | Removes the last test. Exceptions:
  | std::out_of_range | is the path is invalid.
virtual int | getTestCount () const
| Returns the number of tests in the path.
virtual Test * | getTestAt (int index) const
| Returns the test of the specified index.
virtual Test * | getChildTest () const
| Get the last test of the path.
virtual std::string | toString () const
| Returns the path as a string.
TestPath & | operator= (const TestPath &other)
| Assignment operator.
## Protected Types
typedef CppUnitDeque< std::string > | PathTestNames
| A list of test names.
typedef CppUnitDeque< Test * > | Tests
## Protected Member Functions
void | checkIndexValid (int index) const
| Checks that the specified test index is within valid range.
bool | splitPathString (const std::string &pathAsString, PathTestNames &testNames)
| Splits a path string into its test name components.
Test * | findActualRoot (Test *searchRoot, const std::string &pathAsString, PathTestNames &testNames)
| Finds the actual root of a path string and get the path string name components.
## Protected Attributes
Tests | m_tests

## Detailed Description

A List of Test representing a path to access a Test.

The path can be converted to a string and resolved from a string with toString() and TestPath( Test *root, const std::string &pathAsString ).

Pointed tests are not owned by the class.

See also:
  Test::resolvedTestPath()

## Member Typedef Documentation

typedef CppUnitDeque<std::string> TestPath::PathTestNames`[protected]`

A list of test names.

typedef CppUnitDeque<Test *> TestPath::Tests`[protected]`

## Constructor & Destructor Documentation

CPPUNIT_NS_BEGIN TestPath::TestPath | ( |  | ) |

Constructs an invalid path.

The path is invalid until a test is added with add().

TestPath::TestPath | ( | Test * | root | ) |

Constructs a valid path.

Parameters:

  | root | Test to add.

TestPath::TestPath | ( | const TestPath & | otherPath,
|  | int | indexFirst,
|  | int | count = `-1` |
| ) |  |  |

Constructs a path using a slice of another path.

Parameters:

  | otherPath | Path the test are copied from.
  | indexFirst | Zero based index of the first test to copy. Adjusted to be in valid range. count is adjusted with indexFirst.
  | count | Number of tests to copy. If < 0 then all test starting from index indexFirst are copied.

TestPath::TestPath | ( | Test * | searchRoot,
|  | const std::string & | pathAsString |
| ) |  |  |

Resolves a path from a string returned by toString().

If pathAsString is an absolute path (begins with '/'), then the first test name of the path must be the name of searchRoot. Otherwise, pathAsString is a relative path, and the first test found using Test::findTest() matching the first test name is used as root. An empty string resolve to a path containing searchRoot.

The resolved path is always valid.

Parameters:

  | searchRoot | Test used to resolve the path.
  | pathAsString | String that contains the path as a string created by toString().

Exceptions:

  | std::invalid_argument | if one of the test names can not be resolved.

See also:
  toString().

TestPath::TestPath | ( | const TestPath & | other | ) |

Copy constructor.

Parameters:

  | other | Object to copy.

TestPath::~TestPath | ( |  | ) | `[virtual]`

## Member Function Documentation

bool TestPath::isValid | ( |  | ) | const`[virtual]`

Tests if the path contains at least one test.

Returns:
  `true` if the path contains at least one test, otherwise returns `false`.

void TestPath::add | ( | Test * | test | ) | `[virtual]`

Adds a test to the path.

Parameters:

  | test | Pointer on the test to add. Must not be `NULL`.

void TestPath::add | ( | const TestPath & | path | ) | `[virtual]`

Adds all the tests of the specified path.

Parameters:

  | path | Path that contains the test to add.

void TestPath::insert | ( | Test * | test,
|  | int | index |
| ) |  |  | `[virtual]`

Inserts a test at the specified index.

Parameters:

  | test | Pointer on the test to insert. Must not be `NULL`.
  | index | Zero based index indicating where the test is inserted.

Exceptions:

  | std::out_of_range | is index < 0 or index > getTestCount().

void TestPath::insert | ( | const TestPath & | path,
|  | int | index |
| ) |  |  | `[virtual]`

Inserts all the tests at the specified path at a given index.

Parameters:

  | path | Path that contains the test to insert.
  | index | Zero based index indicating where the tests are inserted.

Exceptions:

  | std::out_of_range | is index < 0 or index > getTestCount(), and path is valid.

void TestPath::removeTests | ( |  | ) | `[virtual]`

Removes all the test from the path.

The path becomes invalid after this call.

void TestPath::removeTest | ( | int | index | ) | `[virtual]`

Removes the test at the specified index of the path.

Parameters:

  | index | Zero based index of the test to remove.

Exceptions:

  | std::out_of_range | is index < 0 or index >= getTestCount().

void TestPath::up | ( |  | ) | `[virtual]`

Removes the last test.

Exceptions:

  | std::out_of_range | is the path is invalid.

See also:
  isValid().

int TestPath::getTestCount | ( |  | ) | const`[virtual]`

Returns the number of tests in the path.

Returns:
  Number of tests in the path.

Test * TestPath::getTestAt | ( | int | index | ) | const`[virtual]`

Returns the test of the specified index.

Parameters:

  | index | Zero based index of the test to return.

Returns:
  Pointer on the test at index index. Never `NULL`.

Exceptions:

  | std::out_of_range | is index < 0 or index >= getTestCount().

Test * TestPath::getChildTest | ( |  | ) | const`[virtual]`

Get the last test of the path.

Returns:
  Pointer on the last test (test at the bottom of the hierarchy). Never `NULL`.

Exceptions:

  | std::out_of_range | if the path is not valid ( isValid() returns `false` ).

std::string TestPath::toString | ( |  | ) | const`[virtual]`

Returns the path as a string.

For example, if a path is composed of three tests named "All Tests", "Math" and "Math::testAdd", toString() will return:

"All Tests/Math/Math::testAdd".

Returns:
  A string composed of the test names separated with a '/'. It is a relative path.

TestPath & TestPath::operator= | ( | const TestPath & | other | ) |

Assignment operator.

Parameters:

  | other | Object to copy.

Returns:
  This object.

void TestPath::checkIndexValid | ( | int | index | ) | const`[protected]`

Checks that the specified test index is within valid range.

Parameters:

  | index | Zero based index to check.

Exceptions:

  | std::out_of_range | is index < 0 or index >= getTestCount().

bool TestPath::splitPathString | ( | const std::string & | pathAsString,
|  | PathTestNames & | testNames |
| ) |  |  | `[protected]`

Splits a path string into its test name components.

Parameters:

  | pathAsString | Path string created with toString().
  | testNames | Test name components are added to that container.

Returns:
  `true` if the path is relative (does not begin with '/'), `false` if it is absolute (begin with '/').

Test * TestPath::findActualRoot | ( | Test * | searchRoot,
|  | const std::string & | pathAsString,
|  | PathTestNames & | testNames |
| ) |  |  | `[protected]`

Finds the actual root of a path string and get the path string name components.

Parameters:

  | searchRoot | Test used as root if the path string is absolute, or to search the root test if the path string is relative.
  | pathAsString | Path string. May be absolute or relative.
  | testNames | Test name components are added to that container.

Returns:
  Pointer on the resolved root test. Never `NULL`.

Exceptions:

  | std::invalid_argument | if either the root name can not be resolved or if pathAsString contains no name components.

## Member Data Documentation

Tests TestPath::m_tests`[protected]`

The documentation for this class was generated from the following files:

- TestPath.h
- TestPath.cpp

| hosts this site. |  | Send comments to: CppUnit Developers