A List of Test representing a path to access a Test.
More...
#include <TestPath.h>
|
| 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.
|
|
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.
|
|
|
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.
|
|
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()
◆ PathTestNames
◆ Tests
◆ TestPath() [1/5]
Constructs an invalid path.
The path is invalid until a test is added with add().
◆ TestPath() [2/5]
TestPath::TestPath |
( |
Test * | root | ) |
|
Constructs a valid path.
- Parameters
-
◆ TestPath() [3/5]
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() [4/5]
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() [5/5]
TestPath::TestPath |
( |
const TestPath & | other | ) |
|
Copy constructor.
- Parameters
-
◆ ~TestPath()
◆ add() [1/2]
void TestPath::add |
( |
const TestPath & | path | ) |
|
|
virtual |
Adds all the tests of the specified path.
- Parameters
-
path | Path that contains the test to add. |
◆ add() [2/2]
void TestPath::add |
( |
Test * | test | ) |
|
|
virtual |
Adds a test to the path.
- Parameters
-
test | Pointer on the test to add. Must not be NULL . |
◆ checkIndexValid()
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
-
◆ findActualRoot()
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. |
◆ getChildTest()
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 ). |
◆ getTestAt()
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
-
◆ getTestCount()
int TestPath::getTestCount |
( |
| ) |
const |
|
virtual |
Returns the number of tests in the path.
- Returns
- Number of tests in the path.
◆ insert() [1/2]
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. |
◆ insert() [2/2]
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
-
◆ isValid()
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
.
◆ operator=()
Assignment operator.
- Parameters
-
- Returns
- This object.
◆ removeTest()
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
-
◆ removeTests()
void TestPath::removeTests |
( |
| ) |
|
|
virtual |
Removes all the test from the path.
The path becomes invalid after this call.
◆ splitPathString()
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 '/').
◆ toString()
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.
◆ up()
Removes the last test.
- Exceptions
-
std::out_of_range | is the path is invalid. |
- See also
- isValid().
◆ m_tests
The documentation for this class was generated from the following files: