+void DateTimeTestCase::TestDateTimeParse()
+{
+ static const struct ParseTestData
+ {
+ const wxChar *str;
+ Date date; // NB: this should be in UTC
+ bool good;
+ } parseTestDates[] =
+ {
+ { _T("Thu 22 Nov 2007 07:40:00 PM"),
+ { 22, wxDateTime::Nov, 2007, 19, 40, 0}, true },
+ };
+
+ // special cases
+ wxDateTime dt;
+ for ( size_t n = 0; n < WXSIZEOF(parseTestDates); n++ )
+ {
+ wxDateTime dt;
+ if ( dt.ParseDateTime(parseTestDates[n].str) )
+ {
+ CPPUNIT_ASSERT( parseTestDates[n].good );
+
+ CPPUNIT_ASSERT_EQUAL( parseTestDates[n].date.DT(), dt );
+ }
+ else // failed to parse
+ {
+ CPPUNIT_ASSERT( !parseTestDates[n].good );
+ }
+ }
+}
+