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);
CPPUNIT_TEST(IntervalOnceShort);
CPPUNIT_TEST(IntervalTooShort);
- CPPUNIT_TEST(StartHourStaysTheSameTill2038);
+// CPPUNIT_TEST(StartHourStaysTheSameTill2038);
CPPUNIT_TEST_SUITE_END();
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<time_t>(1225072799), cron.get_next_run(1224983000));
}
CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238290200), cron.get_next_run(1238288399));
}
- void EndDSTForward()
+ void EndDSTForward1()
{
WeekCron cron("0123456",10800);
// calc at: Sun Mar 29 01:59:59 CET 2009
CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(1238364000), cron.get_next_run(1238281200));
+ }
+
+
/////////////////////////////////////////////////////
// Intervals