Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros
Teuchos_LocalTestingHelpers.hpp File Reference

Utilities to make writing tests easier. More...

#include "Teuchos_TestingHelpers.hpp"
Include dependency graph for Teuchos_LocalTestingHelpers.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

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

Detailed Description

Utilities to make writing tests easier.

WARNING! These macros are not namespaced, so you must only include it in *.cpp files for unit testing only!

Definition in file Teuchos_LocalTestingHelpers.hpp.

Macro Definition Documentation

#define ECHO (   statement)    TEUCHOS_ECHO( statement, out )

Echo the given statement before it is executed.

Definition at line 63 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_ASSERT (   v1)    TEUCHOS_TEST_ASSERT( v1, out, success )

Assert the given statement is true.

Definition at line 71 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_EQUALITY_CONST (   v1,
  v2 
)    TEUCHOS_TEST_EQUALITY_CONST( v1, v2, out, success )

Assert the equality of v1 and constant v2.

Definition at line 79 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_EQUALITY (   v1,
  v2 
)    TEUCHOS_TEST_EQUALITY( v1, v2, out, success )

Assert the equality of v1 and v2.

Definition at line 87 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_INEQUALITY_CONST (   v1,
  v2 
)    TEUCHOS_TEST_INEQUALITY_CONST( v1, v2, out, success )

Assert the inequality of v1 and constant v2.

Definition at line 95 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_INEQUALITY (   v1,
  v2 
)    TEUCHOS_TEST_INEQUALITY( v1, v2, out, success )

Assert the inequality of v1 and v2.

Definition at line 103 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_FLOATING_EQUALITY (   v1,
  v2,
  tol 
)    TEUCHOS_TEST_FLOATING_EQUALITY( v1, v2, tol, out, success )

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

Definition at line 112 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_ITER_EQUALITY (   iter1,
  iter2 
)    TEUCHOS_TEST_ITER_EQUALITY( iter1, iter2, out, success )

Assert that two iterators are equal.

Definition at line 120 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_ITER_INEQUALITY (   iter1,
  iter2 
)    TEUCHOS_TEST_ITER_INEQUALITY( iter1, iter2, out, success )

Assert that two iterators are NOT equal.

Definition at line 128 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_ARRAY_ELE_EQUALITY (   a,
  i,
  val 
)    TEUCHOS_TEST_ARRAY_ELE_EQUALITY( a, i, val, false, out, local_success )

Assert that a[i] == val.

Definition at line 136 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_ARRAY_ELE_INEQUALITY (   a,
  i,
  val 
)    TEUCHOS_TEST_ARRAY_ELE_INEQUALITY( a, i, val, false, out, local_success )

Assert that a[i] != val.

Definition at line 144 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_COMPARE (   v1,
  comp,
  v2 
)    TEUCHOS_TEST_COMPARE( v1, comp, v2, out, success )

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

Definition at line 152 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_COMPARE_CONST (   v1,
  comp,
  v2 
)    TEUCHOS_TEST_COMPARE_CONST( v1, comp, v2, out, success )

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

Definition at line 161 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_COMPARE_ARRAYS (   a1,
  a2 
)
Value:
{ \
const bool l_result = compareArrays(a1,#a1,a2,#a2,out); \
if (!l_result) success = false; \
}
bool compareArrays(const Array1 &a1, const std::string &a1_name, const Array2 &a2, const std::string &a2_name, Teuchos::FancyOStream &out)
Compare if two array objects are the same or not.

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

Works for any 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 172 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_COMPARE_FLOATING_ARRAYS (   a1,
  a2,
  tol 
)
Value:
{ \
const bool result = compareFloatingArrays(a1,#a1,a2,#a2,tol,out); \
if (!result) success = false; \
}
bool compareFloatingArrays(const Array1 &a1, const std::string &a1_name, const Array2 &a2, const std::string &a2_name, const ScalarMag &tol, Teuchos::FancyOStream &out)
Compare if two array objects are the same or not up to a relative floating point precision.

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

Works for any 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 186 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_THROW (   code,
  ExceptType 
)    TEUCHOS_TEST_THROW( code, ExceptType, out, success )

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

Definition at line 198 of file Teuchos_LocalTestingHelpers.hpp.

#define TEST_NOTHROW (   code)    TEUCHOS_TEST_NOTHROW( code, out, success )

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

Definition at line 206 of file Teuchos_LocalTestingHelpers.hpp.