Teuchos - Trilinos Tools Package Version of the Day
Loading...
Searching...
No Matches
Unit Testing Assert Macros

Macros

#define ECHO(statement)
 Echo the given statement before it is executed.
#define TEST_ASSERT(v1)
 Assert the given statement is true.
#define TEST_EQUALITY_CONST(v1, v2)
 Assert the equality of v1 and constant v2.
#define TEST_EQUALITY(v1, v2)
 Assert the equality of v1 and v2.
#define TEST_INEQUALITY_CONST(v1, v2)
 Assert the inequality of v1 and constant v2.
#define TEST_INEQUALITY(v1, v2)
 Assert the inequality of v1 and v2.
#define TEST_FLOATING_EQUALITY(v1, v2, tol)
 Assert the relative floating-point equality of rel_error(v1,v2) <= tol.
#define TEST_ITER_EQUALITY(iter1, iter2)
 Assert that two iterators are equal.
#define TEST_ITER_INEQUALITY(iter1, iter2)
 Assert that two iterators are NOT equal.
#define TEST_ARRAY_ELE_EQUALITY(a, i, val)
 Assert that a[i] == val.
#define TEST_ARRAY_ELE_INEQUALITY(a, i, val)
 Assert that a[i] != val.
#define TEST_COMPARE(v1, comp, v2)
 Assert that v1 comp v2 (where comp = '==', '>=", "!=", etc).
#define TEST_COMPARE_CONST(v1, comp, v2)
 Assert that v1 comp v2 (where comp = '==', '>=", "!=", etc) where the second object v2 is printed as value.
#define TEST_COMPARE_ARRAYS(a1, a2)
 Assert that a1.size()==a2.size() and a[i]==b[i], i=0....
#define TEST_COMPARE_FLOATING_ARRAYS(a1, a2, tol)
 Assert that a1.size()==a2.size() and rel_error(a[i],b[i]) <= tol, i=0....
#define TEST_ABSOLUTE_COMPARE_FLOATING_ARRAYS(a1, a2, tol)
 Assert that a1.size()==a2.size() and |a[i]-b[i]| <= tol, i=0....
#define TEST_THROW(code, ExceptType)
 Assert that the statement 'code' throws the exception 'ExceptType' (otherwise the test fails).
#define TEST_NOTHROW(code)
 Asserr that the statement 'code' does not thrown any excpetions.

Detailed Description

These are macros used to define individual checks within an single unit test (e.g. defined by TEUCHOS_UNIT_TEST()).

NOTE: When a single check fails, the unit test is not aborted but instead will just print the failure to the local stream 'out' with the line number and continue on.

NOTE: The local unit test stream object 'out' will be written to and the variable 'success' will be set to 'false' if a test fails.

Macro Definition Documentation

◆ ECHO

#define ECHO ( statement)
Value:
TEUCHOS_ECHO( statement, out )
#define TEUCHOS_ECHO(statement, out)
Echo a statement and then invoke it.

Echo the given statement before it is executed.

Definition at line 31 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_ASSERT

#define TEST_ASSERT ( v1)
Value:
TEUCHOS_TEST_ASSERT( v1, out, success )
#define TEUCHOS_TEST_ASSERT(v1, out, success)
Assert that a give object is true.

Assert the given statement is true.

Definition at line 39 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_EQUALITY_CONST

#define TEST_EQUALITY_CONST ( v1,
v2 )
Value:
TEUCHOS_TEST_EQUALITY_CONST( v1, v2, out, success )
#define TEUCHOS_TEST_EQUALITY_CONST(v1, v2, out, success)
Test that an object is equal to a given constant.

Assert the equality of v1 and constant v2.

Examples
ArrayRCP_test.cpp.

Definition at line 47 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_EQUALITY

#define TEST_EQUALITY ( v1,
v2 )
Value:
TEUCHOS_TEST_EQUALITY( v1, v2, out, success )
#define TEUCHOS_TEST_EQUALITY(v1, v2, out, success)
Test that two values are equal.

Assert the equality of v1 and v2.

Definition at line 55 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_INEQUALITY_CONST

#define TEST_INEQUALITY_CONST ( v1,
v2 )
Value:
TEUCHOS_TEST_INEQUALITY_CONST( v1, v2, out, success )
#define TEUCHOS_TEST_INEQUALITY_CONST(v1, v2, out, success)
Test that an object is not equal to a given constant.

Assert the inequality of v1 and constant v2.

Definition at line 63 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_INEQUALITY

#define TEST_INEQUALITY ( v1,
v2 )
Value:
TEUCHOS_TEST_INEQUALITY( v1, v2, out, success )
#define TEUCHOS_TEST_INEQUALITY(v1, v2, out, success)
Test that two values are not equal.

Assert the inequality of v1 and v2.

Definition at line 71 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_FLOATING_EQUALITY

#define TEST_FLOATING_EQUALITY ( v1,
v2,
tol )
Value:
TEUCHOS_TEST_FLOATING_EQUALITY( v1, v2, tol, out, success )
#define TEUCHOS_TEST_FLOATING_EQUALITY(v1, v2, tol, out, success)
Test if two floating point values are equal to a given tolerance.

Assert the relative floating-point equality of rel_error(v1,v2) <= tol.

Definition at line 80 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_ITER_EQUALITY

#define TEST_ITER_EQUALITY ( iter1,
iter2 )
Value:
TEUCHOS_TEST_ITER_EQUALITY( iter1, iter2, out, success )
#define TEUCHOS_TEST_ITER_EQUALITY(iter1, iter2, out, success)
Test if two iterators are equal.

Assert that two iterators are equal.

Definition at line 88 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_ITER_INEQUALITY

#define TEST_ITER_INEQUALITY ( iter1,
iter2 )
Value:
TEUCHOS_TEST_ITER_INEQUALITY( iter1, iter2, out, success )
#define TEUCHOS_TEST_ITER_INEQUALITY(iter1, iter2, out, success)
Test if two iterators are NOT equal.

Assert that two iterators are NOT equal.

Definition at line 96 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_ARRAY_ELE_EQUALITY

#define TEST_ARRAY_ELE_EQUALITY ( a,
i,
val )
Value:
TEUCHOS_TEST_ARRAY_ELE_EQUALITY( a, i, val, false, out, local_success )
#define TEUCHOS_TEST_ARRAY_ELE_EQUALITY(a, i, val, printPass, out, success)
Test that an array element value is equal to a given constant.

Assert that a[i] == val.

Definition at line 104 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_ARRAY_ELE_INEQUALITY

#define TEST_ARRAY_ELE_INEQUALITY ( a,
i,
val )
Value:
TEUCHOS_TEST_ARRAY_ELE_INEQUALITY( a, i, val, false, out, local_success )
#define TEUCHOS_TEST_ARRAY_ELE_INEQUALITY(a, i, val, printPass, out, success)
Test that an array element value is not equal to a given constant.

Assert that a[i] != val.

Definition at line 112 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_COMPARE

#define TEST_COMPARE ( v1,
comp,
v2 )
Value:
TEUCHOS_TEST_COMPARE( v1, comp, v2, out, success )
#define TEUCHOS_TEST_COMPARE(v1, comp, v2, out, success)
Compare two objects using an input comparsion operator.

Assert that v1 comp v2 (where comp = '==', '>=", "!=", etc).

Definition at line 120 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_COMPARE_CONST

#define TEST_COMPARE_CONST ( v1,
comp,
v2 )
Value:
TEUCHOS_TEST_COMPARE_CONST( v1, comp, v2, out, success )
#define TEUCHOS_TEST_COMPARE_CONST(v1, comp, v2, out, success)
Compare an object and a constant using an input comparsion operator.

Assert that v1 comp v2 (where comp = '==', '>=", "!=", etc) where the second object v2 is printed as value.

Definition at line 129 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_COMPARE_ARRAYS

#define TEST_COMPARE_ARRAYS ( a1,
a2 )
Value:
{ \
const bool l_result = compareArrays(a1,#a1,a2,#a2,out); \
if (!l_result) success = false; \
}

Assert that a1.size()==a2.size() and a[i]==b[i], i=0....

Works for all object types that support a1[i], a1.size(), a2[j], and a2.size() and types a1 and a2 can be different types!

Examples
ArrayRCP_test.cpp.

Definition at line 140 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_COMPARE_FLOATING_ARRAYS

#define TEST_COMPARE_FLOATING_ARRAYS ( a1,
a2,
tol )
Value:
{ \
const bool result = compareFloatingArrays(a1,#a1,a2,#a2,tol,out); \
if (!result) success = false; \
}

Assert that a1.size()==a2.size() and rel_error(a[i],b[i]) <= tol, i=0....

Works for all object types that support a1[i], a1.size(), a2[j], and a2.size() and types a1 and a2 can be different types!

Definition at line 154 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_ABSOLUTE_COMPARE_FLOATING_ARRAYS

#define TEST_ABSOLUTE_COMPARE_FLOATING_ARRAYS ( a1,
a2,
tol )
Value:
{ \
const bool result = compareFloatingArraysAbsolute(a1,#a1,a2,#a2,tol,out); \
if (!result) success = false; \
}

Assert that a1.size()==a2.size() and |a[i]-b[i]| <= tol, i=0....

Works for all object types that support a1[i], a1.size(), a2[j], and a2.size(), but the element types of a1 and a2 must be the same and Teuchos::ScalarTraits must have a specialization for this element type.

Definition at line 168 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_THROW

#define TEST_THROW ( code,
ExceptType )
Value:
TEUCHOS_TEST_THROW( code, ExceptType, out, success )
#define TEUCHOS_TEST_THROW(code, ExceptType, out, success)
Test that the chunk of code 'code' throws an expected exception.

Assert that the statement 'code' throws the exception 'ExceptType' (otherwise the test fails).

Definition at line 179 of file Teuchos_LocalTestingHelpers.hpp.

◆ TEST_NOTHROW

#define TEST_NOTHROW ( code)
Value:
TEUCHOS_TEST_NOTHROW( code, out, success )
#define TEUCHOS_TEST_NOTHROW(code, out, success)
Test that a chunk of code does not throw any exceptions.

Asserr that the statement 'code' does not thrown any excpetions.

Definition at line 187 of file Teuchos_LocalTestingHelpers.hpp.