From b7c746d017c42dfc5c44adff78b57b18aee90fbc Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 6 Jan 2008 22:57:09 +0000 Subject: [PATCH] added WX_ASSERT_MESSAGE macro to simply using CPPUNIT_ASSERT_MESSAGE with wxString::Format() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/cppunit.h | 6 ++++++ tests/datetime/datetimetest.cpp | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/include/wx/cppunit.h b/include/wx/cppunit.h index 7f1923332a..9ccc2a93c3 100644 --- a/include/wx/cppunit.h +++ b/include/wx/cppunit.h @@ -87,6 +87,12 @@ // Use this macro to compare a size_t with a literal integer #define WX_ASSERT_SIZET_EQUAL(n, m) CPPUNIT_ASSERT_EQUAL(((size_t)n), m) + +// Use this macro to assert with the given formatted message (it should contain +// the format string and arguments in a separate pair of parentheses) +#define WX_ASSERT_MESSAGE(msg, cond) \ + CPPUNIT_ASSERT_MESSAGE(std::string(wxString::Format msg .mb_str()), (cond)) + /////////////////////////////////////////////////////////////////////////////// // define stream inserter for wxString if it's not defined in the main library, // we need it to output the test failures involving wxString diff --git a/tests/datetime/datetimetest.cpp b/tests/datetime/datetimetest.cpp index d5e57251a2..bd297c4cea 100644 --- a/tests/datetime/datetimetest.cpp +++ b/tests/datetime/datetimetest.cpp @@ -771,19 +771,27 @@ void DateTimeTestCase::TestParceRFC822() }, }; - for ( size_t n = 0; n < WXSIZEOF(parseTestDates); n++ ) + for ( unsigned n = 0; n < WXSIZEOF(parseTestDates); n++ ) { + const wxChar * const datestr = parseTestDates[n].rfc822; + wxDateTime dt; - if ( dt.ParseRfc822Date(parseTestDates[n].rfc822) ) + if ( dt.ParseRfc822Date(datestr) ) { - CPPUNIT_ASSERT( parseTestDates[n].good ); + WX_ASSERT_MESSAGE( + ("Erroneously parsed \"%s\"", datestr), + parseTestDates[n].good + ); wxDateTime dtReal = parseTestDates[n].date.DT().FromUTC(); CPPUNIT_ASSERT_EQUAL( dtReal, dt ); } else // failed to parse { - CPPUNIT_ASSERT( !parseTestDates[n].good ); + WX_ASSERT_MESSAGE( + ("Failed to parse \"%s\"", datestr), + !parseTestDates[n].good + ); } } } -- 2.45.2