CPPUNIT_TEST(IntervalOutSecondDSTBackwards2);
CPPUNIT_TEST(IntervalOutSecondDSTBackwards3);
CPPUNIT_TEST(IntervalOutSecondDSTBackwards4);
+ CPPUNIT_TEST(IntervalDSTBackwardsWholeday1);
+ CPPUNIT_TEST(IntervalDSTBackwardsWholeday2);
+ CPPUNIT_TEST(IntervalDSTBackwardsWholeday3);
+ CPPUNIT_TEST(IntervalOverDSTForward1);
+ CPPUNIT_TEST(IntervalOverDSTForward2);
+ CPPUNIT_TEST(IntervalOverDSTForward3);
+ CPPUNIT_TEST(IntervalInDSTForward1);
+ CPPUNIT_TEST(IntervalInDSTForward2);
+ CPPUNIT_TEST(IntervalInDSTForward3);
+ CPPUNIT_TEST(IntervalOutDSTForward);
+ CPPUNIT_TEST(IntervalDSTForwardWholeday1);
+ CPPUNIT_TEST(IntervalDSTForwardWholeday2);
CPPUNIT_TEST_SUITE_END();
CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1224986460), cron.get_next_run(1224986400));
}
+ void IntervalDSTBackwardsWholeday1()
+ {
+ WeekCron cron("0123456",0,86400,60);
+ // calc at: Sun Oct 26 22:58:59 2008
+ // expected next run: Sun Oct 26 22:59:00 2008
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1225058340), cron.get_next_run(1225058339));
+ }
+
+ void IntervalDSTBackwardsWholeday2()
+ {
+ WeekCron cron("0123456",0,86400,60);
+ // calc at: Sun Oct 26 22:59:59 2008
+ // expected next run: Mon Oct 27 00:00:00 2008
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1225062000), cron.get_next_run(1225058399));
+ }
+
+ void IntervalDSTBackwardsWholeday3()
+ {
+ WeekCron cron("0123456",0,86400,60);
+ // calc at: Sun Oct 26 23:30:00 2008
+ // expected next run: Mon Oct 27 00:00:00 2008
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1225062000), cron.get_next_run(1225060200));
+ }
+
+ void IntervalOverDSTForward1()
+ {
+ WeekCron cron("0123456",0,14400,60);
+ // calc at: Sun Mar 29 01:59:59 2009
+ // expected next run: Sun Mar 29 03:00:00 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238288400), cron.get_next_run(1238288399));
+ }
+
+ void IntervalOverDSTForward2()
+ {
+ WeekCron cron("0123456",0,14400,60);
+ // calc at: Sun Mar 29 04:00:00 2009
+ // expected next run: Sun Mar 29 04:01:00 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238292060), cron.get_next_run(1238292000));
+ }
+
+ void IntervalOverDSTForward3()
+ {
+ WeekCron cron("0123456",0,14400,60);
+ // calc at: Sun Mar 29 04:59:59 2009
+ // expected next run: Mon Mar 30 00:00:00 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238364000), cron.get_next_run(1238295599));
+ }
+
+ void IntervalInDSTForward1()
+ {
+ WeekCron cron("0123456",3600,9000,60);
+ // calc at: Sun Mar 29 01:59:59 2009
+ // expected next run: Sun Mar 29 03:00:00 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238288400), cron.get_next_run(1238288399));
+ }
+
+ void IntervalInDSTForward2()
+ {
+ WeekCron cron("0123456",3600,9000,60);
+ // calc at: Sun Mar 29 03:29:59 2009
+ // expected next run: Mon Mar 30 01:00:00 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238367600), cron.get_next_run(1238290199));
+ }
+
+ void IntervalInDSTForward3()
+ {
+ WeekCron cron("0123456",7200,9000,60);
+ // calc at: Sun Mar 29 01:59:59 2009
+ // expected next run: Sun Mar 29 03:00:00 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238288400), cron.get_next_run(1238288399));
+ }
+
+ void IntervalOutDSTForward()
+ {
+ WeekCron cron("0123456",9000,14400,60);
+ // calc at: Sun Mar 29 03:29:59 2009
+ // expected next run: Sun Mar 29 03:30:30 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238290200), cron.get_next_run(1238290199));
+ }
+
+ void IntervalDSTForwardWholeday1()
+ {
+ WeekCron cron("03",0,86400,60);
+ // calc at: Sun Mar 29 23:59:59 2009
+ // expected next run: Mon Mar 30 00:00:00 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238364000), cron.get_next_run(1238363999));
+ }
+
+ void IntervalDSTForwardWholeday2()
+ {
+ WeekCron cron("03",0,86400,60);
+ // calc at: Mon Mar 30 00:59:59 2009
+ // expected next run: Wed Apr 1 00:00:00 2009
+ CPPUNIT_ASSERT_EQUAL( static_cast<time_t>(1238536800), cron.get_next_run(1238367599));
+ }
};
CPPUNIT_TEST_SUITE_REGISTRATION(TestCronIntervalFunc);