Blame include/cppunit/AdditionalMessage.h

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