|
Packit |
8c9aa0 |
#ifndef CPPUNIT_ADDITIONALMESSAGE_H
|
|
Packit |
8c9aa0 |
#define CPPUNIT_ADDITIONALMESSAGE_H
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
#include <cppunit/Message.h>
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_NS_BEGIN
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/*! \brief An additional Message for assertions.
|
|
Packit |
8c9aa0 |
* \ingroup CreatingNewAssertions
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* Provides a implicit constructor that takes a single string. This allow this
|
|
Packit |
8c9aa0 |
* class to be used as the message arguments in macros.
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* The constructed object is either a Message with a single detail string if
|
|
Packit |
8c9aa0 |
* a string was passed to the macro, or a copy of the Message passed to the macro.
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* Here is an example of usage:
|
|
Packit |
8c9aa0 |
* \code
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* void checkStringEquals( const std::string &expected,
|
|
Packit |
8c9aa0 |
* const std::string &actual,
|
|
Packit |
8c9aa0 |
* const CppUnit::SourceLine &sourceLine,
|
|
Packit |
8c9aa0 |
* const CppUnit::AdditionalMessage &message );
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* #define XTLUT_ASSERT_STRING_EQUAL_MESSAGE( expected, actual, message ) \
|
|
Packit |
8c9aa0 |
* ::XtlUt::Impl::checkStringEquals( ::Xtl::toString(expected), \
|
|
Packit |
8c9aa0 |
* ::Xtl::toString(actual), \
|
|
Packit |
8c9aa0 |
* CPPUNIT_SOURCELINE(), \
|
|
Packit |
8c9aa0 |
* message )
|
|
Packit |
8c9aa0 |
* \endcode
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* In the previous example, the user can specify a simple string for \a message,
|
|
Packit |
8c9aa0 |
* or a complex Message object.
|
|
Packit |
8c9aa0 |
*
|
|
Packit |
8c9aa0 |
* \see Message
|
|
Packit |
8c9aa0 |
*/
|
|
Packit |
8c9aa0 |
class CPPUNIT_API AdditionalMessage : public Message
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
public:
|
|
Packit |
8c9aa0 |
typedef Message SuperClass;
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/// Constructs an empty Message.
|
|
Packit |
8c9aa0 |
AdditionalMessage();
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/*! \brief Constructs a Message with the specified detail string.
|
|
Packit |
8c9aa0 |
* \param detail1 Detail string of the message. If empty, then it is not added.
|
|
Packit |
8c9aa0 |
*/
|
|
Packit |
8c9aa0 |
AdditionalMessage( const std::string &detail1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/*! \brief Constructs a Message with the specified detail string.
|
|
Packit |
8c9aa0 |
* \param detail1 Detail string of the message. If empty, then it is not added.
|
|
Packit |
8c9aa0 |
*/
|
|
Packit |
8c9aa0 |
AdditionalMessage( const char *detail1 );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/*! \brief Constructs a copy of the specified message.
|
|
Packit |
8c9aa0 |
* \param other Message to copy.
|
|
Packit |
8c9aa0 |
*/
|
|
Packit |
8c9aa0 |
AdditionalMessage( const Message &other );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
/*! \brief Assignment operator.
|
|
Packit |
8c9aa0 |
* \param other Message to copy.
|
|
Packit |
8c9aa0 |
* \return Reference on this object.
|
|
Packit |
8c9aa0 |
*/
|
|
Packit |
8c9aa0 |
AdditionalMessage &operator =( const Message &other );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
private:
|
|
Packit |
8c9aa0 |
};
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_NS_END
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
#endif // CPPUNIT_ADDITIONALMESSAGE_H
|