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
This commit is contained in:
Vadim Zeitlin 2008-01-06 22:57:09 +00:00
parent f90913e2ac
commit b7c746d017
2 changed files with 18 additions and 4 deletions

View File

@ -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

View File

@ -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
);
}
}
}