Blame src/cppunit/Message.cpp

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