diff options
| author | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-06-13 14:31:01 +0000 |
|---|---|---|
| committer | Baptiste Lepilleur <gaiacrtn@free.fr> | 2002-06-13 14:31:01 +0000 |
| commit | abd178318ae3cdb6cc0a700e77414a33ef9297ca (patch) | |
| tree | 76bb1f6d0bf28bfe23c710487d0b20bd95878ca4 /src/cppunit/Message.cpp | |
| parent | 3702f4f7603f1e49b4d6747c49e795bad712eab7 (diff) | |
| download | cppunit-abd178318ae3cdb6cc0a700e77414a33ef9297ca.tar.gz | |
Include/cppunit/Asserter.
include/cppunit/Asserter.h:
* src/cppunit/Asserter.cpp: added functions that take a Message as a
parameter. Existing function have a short description indicating
an assertion failure.
* include/cppunit/CompilerOuputter.h:
* src/cppunit/CompilerOuputter.cpp: removed printNotEqualMessage() and
printDefaultMessage(). Updated to use Message.
* include/cppunit/Message.h:
* src/cppunit/Message.cpp: added. Represents a message associated to an
Exception.
* include/cppunit/Exception.h:
* src/cppunit/Exception.cpp: the message associated to the exception is now
stored as a Message instead of a string.
* include/cppunit/NotEqualException.cpp: constructs a Message instead of a
string.
* include/cppunit/TestAssert.h:
* src/cppunit/TestAssert.cpp: updated to use Asserter functions that
take a message when pertinent (CPPUNIT_FAIL...).
* include/cppunit/TestCaller.h:
* src/cppunit/TestCaller.cpp: exception not caught failure has a better
short description.
* src/cppunit/TestCase.cpp: better short description when setUp() or
tearDown() fail.
* src/msvc6/testrunner/TestRunnerDlg.cpp: replace '\n' in failure message
with space.
* examples/cppunittest/ExceptionTest.cpp:
* examples/cppunittest/NotEqualExceptionTest.cpp:
* examples/cppunittest/TestCallerTest.cpp:
* examples/cppunittest/TestFailureTest.cpp:
* examples/cppunittest/TestResultCollectorTest.h:
* examples/cppunittest/TestResultCollectorTest.cpp:
* examples/cppunittest/TestResultTest.cpp:
* examples/cppunittest/XmlOutputterTest.h:
* examples/cppunittest/XmlOutputterTest.cpp: updated to use Exception/Message.
* examples/cppunittest/MessageTest.h:
* examples/cppunittest/MessageTest.cpp: added. Unit test for Message.
Diffstat (limited to 'src/cppunit/Message.cpp')
| -rw-r--r-- | src/cppunit/Message.cpp | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/src/cppunit/Message.cpp b/src/cppunit/Message.cpp new file mode 100644 index 0000000..315b9bb --- /dev/null +++ b/src/cppunit/Message.cpp @@ -0,0 +1,150 @@ +#include <cppunit/Message.h> + + +namespace CppUnit +{ + + +Message::Message() +{ +} + + +Message::Message( const std::string &shortDescription ) + : m_shortDescription( shortDescription ) +{ +} + + +Message::Message( const std::string &shortDescription, + const std::string &detail1 ) + : m_shortDescription( shortDescription ) +{ + addDetail( detail1 ); +} + + +Message::Message( const std::string &shortDescription, + const std::string &detail1, + const std::string &detail2 ) + : m_shortDescription( shortDescription ) +{ + addDetail( detail1, detail2 ); +} + + +Message::Message( const std::string &shortDescription, + const std::string &detail1, + const std::string &detail2, + const std::string &detail3 ) + : m_shortDescription( shortDescription ) +{ + addDetail( detail1, detail2, detail3 ); +} + + +const std::string & +Message::shortDescription() const +{ + return m_shortDescription; +} + + +int +Message::detailCount() const +{ + return m_details.size(); +} + + +std::string +Message::detailAt( int index ) const +{ + if ( index < 0 || index >= detailCount() ) + throw std::invalid_argument( "Message::detailAt() : invalid index" ); + + return m_details[ index ]; +} + + +std::string +Message::details() const +{ + std::string details; + for ( Details::const_iterator it = m_details.begin(); it != m_details.end(); ++it ) + { + details += "- "; + details += *it; + details += '\n'; + } + return details; +} + + +void +Message::clearDetails() +{ + m_details.clear(); +} + + +void +Message::addDetail( const std::string &detail ) +{ + m_details.push_back( detail ); +} + + +void +Message::addDetail( const std::string &detail1, + const std::string &detail2 ) +{ + addDetail( detail1 ); + addDetail( detail2 ); +} + + +void +Message::addDetail( const std::string &detail1, + const std::string &detail2, + const std::string &detail3 ) +{ + addDetail( detail1, detail2 ); + addDetail( detail3 ); +} + + +void +Message::addDetail( const Message &message ) +{ + m_details.insert( m_details.end(), + message.m_details.begin(), + message.m_details.end() ); +} + + +void +Message::setShortDescription( const std::string &shortDescription ) +{ + m_shortDescription = shortDescription; +} + + +bool +Message::operator ==( const Message &other ) const +{ + return m_shortDescription == other.m_shortDescription && + m_details == other.m_details; +} + + +bool +Message::operator !=( const Message &other ) const +{ + return !( *this == other ); +} + + + +} // namespace CppUnit + |
