Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
Macros for defining unit tests. More...
Go to the source code of this file.
Macros | |
#define | TEUCHOS_UNIT_TEST(TEST_GROUP, TEST_NAME) |
Macro for defining a (non-templated) unit test. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_1_DECL(TEST_GROUP, TEST_NAME, TYPE) |
Macro for defining a templated unit test with one template parameter. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT(TEST_GROUP, TEST_NAME, TYPE) |
Instantiate a templated unit test with one template parameter. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_FLOAT(TEST_GROUP, TEST_NAME) |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_DOUBLE(TEST_GROUP, TEST_NAME) TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT(TEST_GROUP, TEST_NAME, double) |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_COMPLEX_FLOAT(TEST_GROUP, TEST_NAME) |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_COMPLEX_DOUBLE(TEST_GROUP, TEST_NAME) |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_REAL_SCALAR_TYPES(TEST_GROUP, TEST_NAME) |
Instantiate a whole group of tests for supported real Scalar types. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_SCALAR_TYPES(TEST_GROUP, TEST_NAME) |
Instantiate a whole group of tests for supported Scalar types. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_2_DECL(TEST_GROUP, TEST_NAME, TYPE1, TYPE2) |
Macro for defining a templated unit test with two template parameters. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_2_INSTANT(TEST_GROUP, TEST_NAME, TYPE1, TYPE2) |
Instantiate a templated unit test with two template parameters. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_3_DECL(TEST_GROUP, TEST_NAME, TYPE1, TYPE2, TYPE3) |
Macro for defining a templated unit test with three template parameters. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_3_INSTANT(TEST_GROUP, TEST_NAME, TYPE1, TYPE2, TYPE3) |
Instantiate a templated unit test with three template parameters. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_4_DECL(TEST_GROUP, TEST_NAME, TYPE1, TYPE2, TYPE3, TYPE4) |
Macro for defining a templated unit test with four template parameters. More... | |
#define | TEUCHOS_UNIT_TEST_TEMPLATE_4_INSTANT(TEST_GROUP, TEST_NAME, TYPE1, TYPE2, TYPE3, TYPE4) |
Instantiate a templated unit test with four template parameters. More... | |
Macros for defining unit tests.
The macros in this file are for naming and defining unit tests. They give your unit test a group and name, so that you can identify it in the test output. You are responsible for filling in the actual test.
For macros (like TEST_NOTHROW) to help you write the actual unit test, see Teuchos_LocalTestingHelpers.hpp and Teuchos_TestingHelpers.hpp.
Definition in file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST | ( | TEST_GROUP, | |
TEST_NAME | |||
) |
Macro for defining a (non-templated) unit test.
The macro parameters TEST_GROUP and TEST_NAME must each be a valid part of a C++ identifier. In particular, they should not contain any spaces or other characters that are not allowed in the name of a class.
Here is a brief example of how to declare a unit test using this macro.
Definition at line 51 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_DECL | ( | TEST_GROUP, | |
TEST_NAME, | |||
TYPE | |||
) |
Macro for defining a templated unit test with one template parameter.
Use this macro to define the templated unit test. To instantiate the unit test for a particular template parameter, use the TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT macro.
The macro parameters TEST_GROUP and TEST_NAME must each be a valid part of a C++ identifier. In particular, they should not contain any spaces or other characters that are not allowed in the name of a class.
On instantiation, the macro parameter TYPE must be the name of a valid C++ type. The type will be treated as a template parameter. Thus, if your unit test references typedefs in TYPE, it should use typename
to access them. For example:
When instantiating the unit test for a particular template parameter using TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT, the macro parameter TYPE must not contain any spaces (Bug 5757). If you want TYPE to be a type with spaces, like unsigned int
or long double
, you must first use a typedef to alias the original type to a name without spaces, and then use the name without spaces. For example:
Definition at line 128 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT | ( | TEST_GROUP, | |
TEST_NAME, | |||
TYPE | |||
) |
Instantiate a templated unit test with one template parameter.
Use this macro to instantiate for a particular template parameter value the templated unit test defined by TEUCHOS_UNIT_TEST_TEMPLATE_1_DECL with the same TEST_GROUP and TEST_NAME values. For more details and examples, see the documentation of TEUCHOS_UNIT_TEST_TEMPLATE_1_DECL.
Definition at line 155 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_FLOAT | ( | TEST_GROUP, | |
TEST_NAME | |||
) |
Definition at line 166 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_DOUBLE | ( | TEST_GROUP, | |
TEST_NAME | |||
) | TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT(TEST_GROUP, TEST_NAME, double) |
Definition at line 169 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_COMPLEX_FLOAT | ( | TEST_GROUP, | |
TEST_NAME | |||
) |
Definition at line 177 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_COMPLEX_DOUBLE | ( | TEST_GROUP, | |
TEST_NAME | |||
) |
Definition at line 185 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_REAL_SCALAR_TYPES | ( | TEST_GROUP, | |
TEST_NAME | |||
) |
Instantiate a whole group of tests for supported real Scalar types.
Definition at line 194 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT_SCALAR_TYPES | ( | TEST_GROUP, | |
TEST_NAME | |||
) |
Instantiate a whole group of tests for supported Scalar types.
Definition at line 203 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_2_DECL | ( | TEST_GROUP, | |
TEST_NAME, | |||
TYPE1, | |||
TYPE2 | |||
) |
Macro for defining a templated unit test with two template parameters.
Use this macro to define the templated unit test. To instantiate the unit test for particular template parameter values, use the TEUCHOS_UNIT_TEST_TEMPLATE_2_INSTANT macro.
The macro parameters TEST_GROUP and TEST_NAME must each be a valid part of a C++ identifier. In particular, they should not contain any spaces or other characters that are not allowed in the name of a class.
On instantiation, the macro parameters TYPE1 and TYPE2 must be the name of a valid C++ type. The types will be treated as template parameters. Thus, if your unit test references typedefs in TYPE1 or TYPE2, it should use typename
to access them. For example:
When instantiating the unit test for a particular template parameter using TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT, the macro parameter values TYPE1 and TYPE2 must not contain any spaces (Bug 5757). If you want TYPE1 or TYPE2 to be a type with spaces, like unsigned int
or long double
, you must first use a typedef to alias the original type to a name without spaces, and then use the name without spaces. For example:
Definition at line 270 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_2_INSTANT | ( | TEST_GROUP, | |
TEST_NAME, | |||
TYPE1, | |||
TYPE2 | |||
) |
Instantiate a templated unit test with two template parameters.
Use this macro to instantiate for particular template parameter values the templated unit test defined by TEUCHOS_UNIT_TEST_TEMPLATE_2_DECL with the same TEST_GROUP and TEST_NAME values. For more details and examples, see the documentation of TEUCHOS_UNIT_TEST_TEMPLATE_2_DECL.
Definition at line 301 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_3_DECL | ( | TEST_GROUP, | |
TEST_NAME, | |||
TYPE1, | |||
TYPE2, | |||
TYPE3 | |||
) |
Macro for defining a templated unit test with three template parameters.
Definition at line 312 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_3_INSTANT | ( | TEST_GROUP, | |
TEST_NAME, | |||
TYPE1, | |||
TYPE2, | |||
TYPE3 | |||
) |
Instantiate a templated unit test with three template parameters.
Definition at line 339 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_4_DECL | ( | TEST_GROUP, | |
TEST_NAME, | |||
TYPE1, | |||
TYPE2, | |||
TYPE3, | |||
TYPE4 | |||
) |
Macro for defining a templated unit test with four template parameters.
Definition at line 350 of file Teuchos_UnitTestHelpers.hpp.
#define TEUCHOS_UNIT_TEST_TEMPLATE_4_INSTANT | ( | TEST_GROUP, | |
TEST_NAME, | |||
TYPE1, | |||
TYPE2, | |||
TYPE3, | |||
TYPE4 | |||
) |
Instantiate a templated unit test with four template parameters.
Definition at line 378 of file Teuchos_UnitTestHelpers.hpp.