CPPUNIT_TEST( TestTimeTicks );
CPPUNIT_TEST( TestParceRFC822 );
CPPUNIT_TEST( TestDateParse );
+ CPPUNIT_TEST( TestDateTimeParse );
CPPUNIT_TEST( TestTimeArithmetics );
CPPUNIT_TEST( TestDSTBug );
CPPUNIT_TEST( TestDateOnly );
void TestTimeTicks();
void TestParceRFC822();
void TestDateParse();
+ void TestDateTimeParse();
void TestTimeArithmetics();
void TestDSTBug();
void TestDateOnly();
// some invalid ones too
{ _T("29 Feb 2006") },
{ _T("31/04/06") },
- { _T("bloordyblop") }
+ { _T("bloordyblop") },
};
// special cases
}
}
+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 );
+ }
+ }
+}
+
void DateTimeTestCase::TestTimeArithmetics()
{
static const wxDateSpan testArithmData[] =
{
/////////////////////////
// Test GetEndDST()
- wxDateTime dt = wxDateTime::GetEndDST(2004);
+ wxDateTime dt = wxDateTime::GetEndDST(2004, wxDateTime::France);
CPPUNIT_ASSERT_EQUAL(31, (int)dt.GetDay());
CPPUNIT_ASSERT_EQUAL(wxDateTime::Oct, dt.GetMonth());
CPPUNIT_ASSERT_EQUAL(2004, (int)dt.GetYear());
- CPPUNIT_ASSERT_EQUAL(2, (int)dt.GetHour());
+ CPPUNIT_ASSERT_EQUAL(1, (int)dt.GetHour());
CPPUNIT_ASSERT_EQUAL(0, (int)dt.GetMinute());
CPPUNIT_ASSERT_EQUAL(0, (int)dt.GetSecond());
CPPUNIT_ASSERT_EQUAL(0, (int)dt.GetMillisecond());