CppUnit project page FAQ

Classes | Macros | Functions
TestAssert.h File Reference
#include <cppunit/Portability.h>
#include <cppunit/Exception.h>
#include <cppunit/Asserter.h>
#include <cppunit/portability/Stream.h>
#include <cppunit/tools/StringHelper.h>
#include <stdio.h>
#include <float.h>
Include dependency graph for TestAssert.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  assertion_traits< T >
 Traits used by CPPUNIT_ASSERT* macros. More...
 
struct  assertion_traits< double >
 Traits used by CPPUNIT_ASSERT_DOUBLES_EQUAL(). More...
 

Macros

#define CPPUNIT_ASSERT(condition)
 Assertions that a condition is true. More...
 
#define CPPUNIT_ASSERT_MESSAGE(message, condition)
 Assertion with a user specified message. More...
 
#define CPPUNIT_FAIL(message)
 Fails with the specified message. More...
 
#define CPPUNIT_ASSERT_EQUAL(expected, actual)
 Asserts that two values are equals. More...
 
#define CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual)
 Asserts that two values are equals, provides additional message on failure. More...
 
#define CPPUNIT_ASSERT_LESS(expected, actual)
 Asserts that actual is less than expected, provides additional message on failure. More...
 
#define CPPUNIT_ASSERT_GREATER(expected, actual)
 Asserts that actual is greater than expected, provides additional message on failure. More...
 
#define CPPUNIT_ASSERT_LESSEQUAL(expected, actual)
 Asserts that actual is less or equal than expected, provides additional message on failure. More...
 
#define CPPUNIT_ASSERT_GREATEREQUAL(expected, actual)
 Asserts that actual is greater than expected, provides additional message on failure. More...
 
#define CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta)
 Macro for primitive double value comparisons. More...
 
#define CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE(message, expected, actual, delta)
 Macro for primitive double value comparisons, setting a user-supplied message in case of failure. More...
 
#define CPPUNIT_ASSERT_THROW(expression, ExceptionType)
 Asserts that the given expression throws an exception of the specified type. More...
 
#define CPPUNIT_EXTRACT_EXCEPTION_TYPE_(exception, no_rtti_message)    std::string( no_rtti_message )
 
#define CPPUNIT_GET_PARAMETER_STRING(parameter)   #parameter
 
#define CPPUNIT_ASSERT_THROW_MESSAGE(message, expression, ExceptionType)
 Asserts that the given expression throws an exception of the specified type, setting a user supplied message in case of failure. More...
 
#define CPPUNIT_ASSERT_NO_THROW(expression)
 Asserts that the given expression does not throw any exceptions. More...
 
#define CPPUNIT_ASSERT_NO_THROW_MESSAGE(message, expression)
 Asserts that the given expression does not throw any exceptions, setting a user supplied message in case of failure. More...
 
#define CPPUNIT_ASSERT_ASSERTION_FAIL(assertion)    CPPUNIT_ASSERT_THROW( assertion, CPPUNIT_NS::Exception )
 Asserts that an assertion fail. More...
 
#define CPPUNIT_ASSERT_ASSERTION_FAIL_MESSAGE(message, assertion)    CPPUNIT_ASSERT_THROW_MESSAGE( message, assertion, CPPUNIT_NS::Exception )
 Asserts that an assertion fail, with a user-supplied message in case of error. More...
 
#define CPPUNIT_ASSERT_ASSERTION_PASS(assertion)    CPPUNIT_ASSERT_NO_THROW( assertion )
 Asserts that an assertion pass. More...
 
#define CPPUNIT_ASSERT_ASSERTION_PASS_MESSAGE(message, assertion)    CPPUNIT_ASSERT_NO_THROW_MESSAGE( message, assertion )
 Asserts that an assertion pass, with a user-supplied message in case of failure. More...
 

Functions

std::string message_to_string (const std::string &s)
 Message traits used by CPPUNIT_ASSERT* macros. More...
 
std::string message_to_string (const OStream &out)
 
AdditionalMessage message_to_string (const AdditionalMessage &msg)
 for calls to addDetail More...
 
std::string message_to_string (const char *s)
 otherwise calls with string literals are ambiguous More...
 
template<class T >
void assertEquals (const T &expected, const T &actual, SourceLine sourceLine, const std::string &message)
 (Implementation) Asserts that two objects of the same type are equals. Use CPPUNIT_ASSERT_EQUAL instead of this function. More...
 
void CPPUNIT_API assertDoubleEquals (double expected, double actual, double delta, SourceLine sourceLine, const std::string &message)
 (Implementation) Asserts that two double are equals given a tolerance. Use CPPUNIT_ASSERT_DOUBLES_EQUAL instead of this function. More...
 
template<class T >
void assertLess (const T &expected, const T &actual, SourceLine sourceLine, const std::string &message)
 (Implementation) Asserts that an object is less than another one of the same type Use CPPUNIT_ASSERT_LESS, CPPUNIT_ASSERT_GREATER instead of this function. More...
 
template<class T >
void assertGreater (const T &expected, const T &actual, SourceLine sourceLine, const std::string &message)
 (Implementation) Asserts that an object is less than another one of the same type Use CPPUNIT_ASSERT_LESS, CPPUNIT_ASSERT_GREATER instead of this function. More...
 
template<class T >
void assertLessEqual (const T &expected, const T &actual, SourceLine sourceLine, const std::string &message)
 (Implementation) Asserts that two objects of the same type are equals. Use CPPUNIT_ASSERT_LESSEQUAL, CPPUNIT_ASSERT_GREATEREQUAL instead of this function. More...
 
template<class T >
void assertGreaterEqual (const T &expected, const T &actual, SourceLine sourceLine, const std::string &message)
 (Implementation) Asserts that two objects of the same type are equals. Use CPPUNIT_ASSERT_LESSEQUAL, CPPUNIT_ASSERT_GREATEREQUAL instead of this function. More...
 

Macro Definition Documentation

◆ CPPUNIT_EXTRACT_EXCEPTION_TYPE_

#define CPPUNIT_EXTRACT_EXCEPTION_TYPE_ (   exception,
  no_rtti_message 
)     std::string( no_rtti_message )

◆ CPPUNIT_GET_PARAMETER_STRING

#define CPPUNIT_GET_PARAMETER_STRING (   parameter)    #parameter

Function Documentation

◆ assertDoubleEquals()

void CPPUNIT_API assertDoubleEquals ( double  expected,
double  actual,
double  delta,
SourceLine  sourceLine,
const std::string &  message 
)

(Implementation) Asserts that two double are equals given a tolerance. Use CPPUNIT_ASSERT_DOUBLES_EQUAL instead of this function.

See also
Asserter::failNotEqual().
CPPUNIT_ASSERT_DOUBLES_EQUAL for detailed semantic of the assertion.

◆ assertEquals()

template<class T >
void assertEquals ( const T &  expected,
const T &  actual,
SourceLine  sourceLine,
const std::string &  message 
)

(Implementation) Asserts that two objects of the same type are equals. Use CPPUNIT_ASSERT_EQUAL instead of this function.

See also
assertion_traits, Asserter::failNotEqual().

◆ assertGreater()

template<class T >
void assertGreater ( const T &  expected,
const T &  actual,
SourceLine  sourceLine,
const std::string &  message 
)

(Implementation) Asserts that an object is less than another one of the same type Use CPPUNIT_ASSERT_LESS, CPPUNIT_ASSERT_GREATER instead of this function.

See also
assertion_traits, Asserter::failNotLess().

◆ assertGreaterEqual()

template<class T >
void assertGreaterEqual ( const T &  expected,
const T &  actual,
SourceLine  sourceLine,
const std::string &  message 
)

(Implementation) Asserts that two objects of the same type are equals. Use CPPUNIT_ASSERT_LESSEQUAL, CPPUNIT_ASSERT_GREATEREQUAL instead of this function.

See also
assertion_traits, Asserter::failNotLessEqual().

◆ assertLess()

template<class T >
void assertLess ( const T &  expected,
const T &  actual,
SourceLine  sourceLine,
const std::string &  message 
)

(Implementation) Asserts that an object is less than another one of the same type Use CPPUNIT_ASSERT_LESS, CPPUNIT_ASSERT_GREATER instead of this function.

See also
assertion_traits, Asserter::failNotLess().

◆ assertLessEqual()

template<class T >
void assertLessEqual ( const T &  expected,
const T &  actual,
SourceLine  sourceLine,
const std::string &  message 
)

(Implementation) Asserts that two objects of the same type are equals. Use CPPUNIT_ASSERT_LESSEQUAL, CPPUNIT_ASSERT_GREATEREQUAL instead of this function.

See also
assertion_traits, Asserter::failNotLessEqual().

◆ message_to_string() [1/4]

AdditionalMessage message_to_string ( const AdditionalMessage msg)
inline

for calls to addDetail

◆ message_to_string() [2/4]

std::string message_to_string ( const char *  s)
inline

otherwise calls with string literals are ambiguous

◆ message_to_string() [3/4]

std::string message_to_string ( const OStream out)
inline

◆ message_to_string() [4/4]

std::string message_to_string ( const std::string &  s)
inline

Message traits used by CPPUNIT_ASSERT* macros.

Here is an example of specialising these traits:

static std::string message_to_string(const MyType& m)
{
return m.getStr();
};
#define CPPUNIT_NS_END
Definition: Portability.h:106
#define CPPUNIT_NS_BEGIN
Definition: Portability.h:105
std::string message_to_string(const std::string &s)
Message traits used by CPPUNIT_ASSERT* macros.
Definition: TestAssert.h:135

Send comments to:
CppUnit Developers