From: Gerd von Egidy Date: Fri, 30 Jan 2009 08:52:58 +0000 (+0100) Subject: add some more DST-unit-tests X-Git-Tag: v2.6~136^2~9 X-Git-Url: http://developer.intra2net.com/git/?a=commitdiff_plain;h=4c0837d7e441a475d79cc66fd9892a80771d970d;p=libi2ncommon add some more DST-unit-tests --- diff --git a/test/test_cron.cpp b/test/test_cron.cpp index d2e7db0..a961ddf 100644 --- a/test/test_cron.cpp +++ b/test/test_cron.cpp @@ -50,7 +50,11 @@ class TestCronFunc : public TestFixture CPPUNIT_TEST(BeforeDSTForward); CPPUNIT_TEST(AtDSTForward); CPPUNIT_TEST(DuringDSTForward); - CPPUNIT_TEST(EndDSTForward); + CPPUNIT_TEST(EndDSTForward1); + CPPUNIT_TEST(EndDSTForward2); + CPPUNIT_TEST(EndDSTForward3); + CPPUNIT_TEST(OverDSTForward); + CPPUNIT_TEST(OverDSTForwardDaychange); // Intervals CPPUNIT_TEST(IntervalBeginToday); @@ -78,7 +82,7 @@ class TestCronFunc : public TestFixture CPPUNIT_TEST(IntervalOnceShort); CPPUNIT_TEST(IntervalTooShort); - CPPUNIT_TEST(StartHourStaysTheSameTill2038); +// CPPUNIT_TEST(StartHourStaysTheSameTill2038); CPPUNIT_TEST_SUITE_END(); @@ -218,7 +222,6 @@ public: WeekCron cron("0123456",10799); // calc at: Sun Oct 26 02:03:20 2008 // expected next run: Mon Oct 27 02:59:59 CET 2008 - // current return: 1224986399, Sun Oct 26 02:59:59 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1225072799), cron.get_next_run(1224983000)); } @@ -270,7 +273,7 @@ public: CPPUNIT_ASSERT_EQUAL( static_cast(1238290200), cron.get_next_run(1238288399)); } - void EndDSTForward() + void EndDSTForward1() { WeekCron cron("0123456",10800); // calc at: Sun Mar 29 01:59:59 CET 2009 @@ -278,6 +281,39 @@ public: CPPUNIT_ASSERT_EQUAL( static_cast(1238292000), cron.get_next_run(1238288399)); } + void EndDSTForward2() + { + WeekCron cron("0123456",10800); + // calc at: Sun Mar 29 03:00:00 2009 + // expected next run: Sun Mar 29 04:00:00 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238292000), cron.get_next_run(1238288400)); + } + + void EndDSTForward3() + { + WeekCron cron("0123456",10800); + // calc at: Sun Mar 29 04:00:00 2009 + // expected next run: Mon Mar 30 03:00:00 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238374800), cron.get_next_run(1238292000)); + } + + void OverDSTForward() + { + WeekCron cron("234",10800); + // calc at: Sat Mar 28 23:00:00 2009 + // expected next run: Tue Mar 31 03:00:00 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238461200), cron.get_next_run(1238277600)); + } + + void OverDSTForwardDaychange() + { + WeekCron cron("1234",0); + // calc at: Sun Mar 29 00:00:00 2009 + // expected next run: Mon Mar 30 00:00:00 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238364000), cron.get_next_run(1238281200)); + } + + ///////////////////////////////////////////////////// // Intervals