|
Packit |
8c9aa0 |
#include <cppunit/Message.h>
|
|
Packit |
8c9aa0 |
#include <stdexcept>
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_NS_BEGIN
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
Message::Message( const Message &other )
|
|
Packit |
8c9aa0 |
: m_shortDescription()
|
|
Packit |
8c9aa0 |
, m_details()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
*this = other;
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
Message::Message( const std::string &shortDescription )
|
|
Packit |
8c9aa0 |
: m_shortDescription( shortDescription )
|
|
Packit |
8c9aa0 |
, m_details()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
Message::Message( const std::string &shortDescription,
|
|
Packit |
8c9aa0 |
const std::string &detail1 )
|
|
Packit |
8c9aa0 |
: m_shortDescription( shortDescription )
|
|
Packit |
8c9aa0 |
, m_details()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
addDetail( detail1 );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
Message::Message( const std::string &shortDescription,
|
|
Packit |
8c9aa0 |
const std::string &detail1,
|
|
Packit |
8c9aa0 |
const std::string &detail2 )
|
|
Packit |
8c9aa0 |
: m_shortDescription( shortDescription )
|
|
Packit |
8c9aa0 |
, m_details()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
addDetail( detail1, detail2 );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
Message::Message( const std::string &shortDescription,
|
|
Packit |
8c9aa0 |
const std::string &detail1,
|
|
Packit |
8c9aa0 |
const std::string &detail2,
|
|
Packit |
8c9aa0 |
const std::string &detail3 )
|
|
Packit |
8c9aa0 |
: m_shortDescription( shortDescription )
|
|
Packit |
8c9aa0 |
, m_details()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
addDetail( detail1, detail2, detail3 );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
Message::~Message()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
Message &
|
|
Packit |
8c9aa0 |
Message::operator =( const Message &other )
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
if ( this != &other )
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_shortDescription = other.m_shortDescription.c_str();
|
|
Packit |
8c9aa0 |
m_details.clear();
|
|
Packit |
8c9aa0 |
Details::const_iterator it = other.m_details.begin();
|
|
Packit |
8c9aa0 |
Details::const_iterator itEnd = other.m_details.end();
|
|
Packit |
8c9aa0 |
while ( it != itEnd )
|
|
Packit |
8c9aa0 |
m_details.push_back( (*it++).c_str() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
return *this;
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
const std::string &
|
|
Packit |
8c9aa0 |
Message::shortDescription() const
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
return m_shortDescription;
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
int
|
|
Packit |
8c9aa0 |
Message::detailCount() const
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
return m_details.size();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
std::string
|
|
Packit |
8c9aa0 |
Message::detailAt( int index ) const
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
if ( index < 0 || index >= detailCount() )
|
|
Packit |
8c9aa0 |
throw std::invalid_argument( "Message::detailAt() : invalid index" );
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
return m_details[ index ];
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
std::string
|
|
Packit |
8c9aa0 |
Message::details() const
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
std::string details;
|
|
Packit |
8c9aa0 |
for ( Details::const_iterator it = m_details.begin(); it != m_details.end(); ++it )
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
details += "- ";
|
|
Packit |
8c9aa0 |
details += *it;
|
|
Packit |
8c9aa0 |
details += '\n';
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
return details;
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
Message::clearDetails()
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_details.clear();
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
Message::addDetail( const std::string &detail )
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_details.push_back( detail );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
Message::addDetail( const std::string &detail1,
|
|
Packit |
8c9aa0 |
const std::string &detail2 )
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
addDetail( detail1 );
|
|
Packit |
8c9aa0 |
addDetail( detail2 );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
Message::addDetail( const std::string &detail1,
|
|
Packit |
8c9aa0 |
const std::string &detail2,
|
|
Packit |
8c9aa0 |
const std::string &detail3 )
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
addDetail( detail1, detail2 );
|
|
Packit |
8c9aa0 |
addDetail( detail3 );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
Message::addDetail( const Message &message )
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_details.insert( m_details.end(),
|
|
Packit |
8c9aa0 |
message.m_details.begin(),
|
|
Packit |
8c9aa0 |
message.m_details.end() );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
void
|
|
Packit |
8c9aa0 |
Message::setShortDescription( const std::string &shortDescription )
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
m_shortDescription = shortDescription;
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
bool
|
|
Packit |
8c9aa0 |
Message::operator ==( const Message &other ) const
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
return m_shortDescription == other.m_shortDescription &&
|
|
Packit |
8c9aa0 |
m_details == other.m_details;
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
bool
|
|
Packit |
8c9aa0 |
Message::operator !=( const Message &other ) const
|
|
Packit |
8c9aa0 |
{
|
|
Packit |
8c9aa0 |
return !( *this == other );
|
|
Packit |
8c9aa0 |
}
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
|
|
Packit |
8c9aa0 |
CPPUNIT_NS_END
|
|
Packit |
8c9aa0 |
|