// 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
},
};
- 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
+ );
}
}
}