From 1e37263857b983fda043cb08bf40197cd15d19e8 Mon Sep 17 00:00:00 2001 From: Gerd von Egidy Date: Thu, 2 Apr 2009 17:59:33 +0200 Subject: [PATCH] improve WeekCron-unittests some more --- test/test_cron_interval.cpp | 206 ++++++++++++++++++++----------------------- test/test_cron_point.cpp | 4 + 2 files changed, 99 insertions(+), 111 deletions(-) diff --git a/test/test_cron_interval.cpp b/test/test_cron_interval.cpp index cf40cce..f39b0b0 100644 --- a/test/test_cron_interval.cpp +++ b/test/test_cron_interval.cpp @@ -63,9 +63,6 @@ class TestCronIntervalFunc : public TestFixture CPPUNIT_TEST(IntervalOutFirstDSTBackwards3); CPPUNIT_TEST(IntervalOutFirstDSTBackwards4); CPPUNIT_TEST(IntervalOutSecondDSTBackwards1); - CPPUNIT_TEST(IntervalOutSecondDSTBackwards2); - CPPUNIT_TEST(IntervalOutSecondDSTBackwards3); - CPPUNIT_TEST(IntervalOutSecondDSTBackwards4); CPPUNIT_TEST(IntervalDSTBackwardsWholeday1); CPPUNIT_TEST(IntervalDSTBackwardsWholeday2); CPPUNIT_TEST(IntervalDSTBackwardsWholeday3); @@ -75,12 +72,13 @@ class TestCronIntervalFunc : public TestFixture CPPUNIT_TEST(IntervalInDSTForward1); CPPUNIT_TEST(IntervalInDSTForward2); CPPUNIT_TEST(IntervalInDSTForward3); - CPPUNIT_TEST(IntervalInDSTForward4); - CPPUNIT_TEST(IntervalInDSTForward5); - CPPUNIT_TEST(IntervalInDSTForward6); CPPUNIT_TEST(IntervalOutDSTForward); + CPPUNIT_TEST(IntervalDuringDSTForward); CPPUNIT_TEST(IntervalDSTForwardWholeday1); CPPUNIT_TEST(IntervalDSTForwardWholeday2); + CPPUNIT_TEST(IntervalDSTForwardWholeday3); + CPPUNIT_TEST(IntervalDSTForwardWholeday4); + CPPUNIT_TEST(IntervalDSTForwardWholeday5); CPPUNIT_TEST_SUITE_END(); @@ -243,85 +241,88 @@ public: void IntervalOverDSTBackwards1() { WeekCron cron("0123456",0,14400,60); - // calc at: Sun Oct 26 01:59:59 2008 - // expected next run: Sun Oct 26 02:00:00 2008 + // calc at: Sun Oct 26 01:59:59 CEST 2008 + // expected next run: Sun Oct 26 02:00:00 CEST 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1224979200), cron.get_next_run(1224979199)); } void IntervalOverDSTBackwards2() { WeekCron cron("0123456",0,14400,60); - // calc at: Sun Oct 26 02:29:59 2008 - // expected next run: Sun Oct 26 02:30:00 2008 + // calc at: Sun Oct 26 02:29:59 CEST 2008 + // expected next run: Sun Oct 26 02:30:00 CEST 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1224981000), cron.get_next_run(1224980999)); } void IntervalOverDSTBackwards3() { WeekCron cron("0123456",0,14400,60); - // calc at: Sun Oct 26 02:59:59 2008 - // expected next run: Sun Oct 26 02:00:00 2008 + // calc at: Sun Oct 26 02:59:59 CEST 2008 + // expected next run: Sun Oct 26 02:00:00 CET 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1224982800), cron.get_next_run(1224982799)); } void IntervalOverDSTBackwards4() { WeekCron cron("0123456",0,14400,60); - // calc at: Sun Oct 26 02:59:59 2008 - // expected next run: Mon Oct 27 00:00:00 2008 - CPPUNIT_ASSERT_EQUAL( static_cast(1225062000), cron.get_next_run(1224986399)); + // calc at: Sun Oct 26 02:59:59 CET 2008 + // expected next run: Sun Oct 26 03:00:00 CET 2008 + CPPUNIT_ASSERT_EQUAL( static_cast(1224986400), cron.get_next_run(1224986399)); } void IntervalInFirstDSTBackwards1() { WeekCron cron("0123456",0,9000,60); - // calc at: Sun Oct 26 02:28:59 2008 - // expected next run: Sun Oct 26 02:29:00 2008 + // calc at: Sun Oct 26 02:28:59 CEST 2008 + // expected next run: Sun Oct 26 02:29:00 CEST 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1224980940), cron.get_next_run(1224980939)); } void IntervalInFirstDSTBackwards2() { WeekCron cron("0123456",0,9000,60); - // calc at: Sun Oct 26 02:29:01 2008 - // expected next run: Mon Oct 27 00:00:00 2008 + // calc at: Sun Oct 26 02:29:01 CEST 2008 + // expected next run: Mon Oct 27 00:00:00 CET 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1225062000), cron.get_next_run(1224980941)); } void IntervalInSecondDSTBackwards1() { WeekCron cron("0123456",0,12600,60); - // calc at: Sun Oct 26 02:28:59 2008 - // expected next run: Sun Oct 26 02:29:00 2008 + // calc at: Sun Oct 26 02:28:59 CET 2008 + // expected next run: Sun Oct 26 02:29:00 CET 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1224984540), cron.get_next_run(1224984539)); } void IntervalInSecondDSTBackwards2() { WeekCron cron("0123456",0,12600,60); - // calc at: Sun Oct 26 02:29:01 2008 - // expected next run: Mon Oct 27 00:00:00 2008 - CPPUNIT_ASSERT_EQUAL( static_cast(1225062000), cron.get_next_run(1224984541)); + // calc at: Sun Oct 26 02:29:01 CET 2008 + // expected next run: Sun Oct 26 02:30:00 CET 2008 + CPPUNIT_ASSERT_EQUAL( static_cast(1224984600), cron.get_next_run(1224984541)); } void IntervalOutFirstDSTBackwards1() { + // FIXME: is Sun Oct 26 02:30:00 CET 2008 WeekCron cron("0123456",9000,18000,60); - // calc at: Sun Oct 26 02:29:00 2008 - // expected next run: Sun Oct 26 02:30:00 2008 + // calc at: Sun Oct 26 02:29:00 CEST 2008 + // expected next run: Sun Oct 26 02:30:00 CEST 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1224981000), cron.get_next_run(1224980940)); } void IntervalOutFirstDSTBackwards2() { + // FIXME: is Sun Oct 26 02:30:00 CET 2008 WeekCron cron("0123456",9000,18000,60); - // calc at: Sun Oct 26 02:30:00 2008 - // expected next run: Sun Oct 26 02:31:00 2008 + // calc at: Sun Oct 26 02:30:00 CEST 2008 + // expected next run: Sun Oct 26 02:31:00 CEST 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1224981060), cron.get_next_run(1224981000)); } void IntervalOutFirstDSTBackwards3() { + // FIXME: is Sun Oct 26 02:30:00 CET 2008 WeekCron cron("0123456",9000,18000,60); // calc at: Sun Oct 26 02:59:59 CEST 2008 // expected next run: Sun Oct 26 02:00:00 CET 2008 @@ -331,164 +332,147 @@ public: void IntervalOutFirstDSTBackwards4() { WeekCron cron("0123456",9000,18000,60); - // calc at: Sun Oct 26 02:29:00 2008 - // expected next run: Sun Oct 26 02:30:00 2008 + // calc at: Sun Oct 26 02:29:00 CET 2008 + // expected next run: Sun Oct 26 02:30:00 CET 2008 CPPUNIT_ASSERT_EQUAL( static_cast(1224984600), cron.get_next_run(1224984540)); } void IntervalOutSecondDSTBackwards1() { WeekCron cron("0123456",12600,18000,60); - // calc at: Sun Oct 26 02:29:59 2008 - // expected next run: Sun Oct 26 02:30:00 2008 - CPPUNIT_ASSERT_EQUAL( static_cast(1224984600), cron.get_next_run(1224984599)); - } - - void IntervalOutSecondDSTBackwards2() - { - WeekCron cron("0123456",12600,18000,60); - // calc at: Sun Oct 26 02:30:00 2008 - // expected next run: Sun Oct 26 02:31:00 2008 - CPPUNIT_ASSERT_EQUAL( static_cast(1224984660), cron.get_next_run(1224984600)); - } - - void IntervalOutSecondDSTBackwards3() - { - WeekCron cron("0123456",12600,18000,60); - // calc at: Sun Oct 26 02:59:59 2008 - // expected next run: Sun Oct 26 03:00:00 2008 - CPPUNIT_ASSERT_EQUAL( static_cast(1224986400), cron.get_next_run(1224986399)); - } - - void IntervalOutSecondDSTBackwards4() - { - WeekCron cron("0123456",12600,18000,60); - // calc at: Sun Oct 26 03:00:00 2008 - // expected next run: Sun Oct 26 03:01:00 2008 - CPPUNIT_ASSERT_EQUAL( static_cast(1224986460), cron.get_next_run(1224986400)); + // calc at: Sun Oct 26 02:29:59 CET 2008 + // expected next run: Sun Oct 26 03:30:00 CET 2008 + CPPUNIT_ASSERT_EQUAL( static_cast(1224988200), cron.get_next_run(1224984599)); } 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 + // calc at: Sun Oct 26 22:58:59 CET 2008 + // expected next run: Sun Oct 26 22:59:00 CET 2008 CPPUNIT_ASSERT_EQUAL( static_cast(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(1225062000), cron.get_next_run(1225058399)); + // calc at: Sun Oct 26 22:59:59 CET 2008 + // expected next run: Sun Oct 26 23:00:00 CET 2008 + CPPUNIT_ASSERT_EQUAL( static_cast(1225058400), 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(1225062000), cron.get_next_run(1225060200)); + // calc at: Sun Oct 26 23:30:00 CET 2008 + // expected next run: Sun Oct 26 23:31:00 CET 2008 + CPPUNIT_ASSERT_EQUAL( static_cast(1225060260), 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 + // calc at: Sun Mar 29 01:59:59 CET 2009 + // expected next run: Sun Mar 29 03:00:00 CEST 2009 CPPUNIT_ASSERT_EQUAL( static_cast(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(1238292060), cron.get_next_run(1238292000)); + // calc at: Sun Mar 29 03:58:59 CEST 2009 + // expected next run: Sun Mar 29 03:59:00 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238291940), cron.get_next_run(1238291939)); } 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(1238364000), cron.get_next_run(1238295599)); + // calc at: Sun Mar 29 03:59:59 CEST 2009 + // expected next run: Mon Mar 30 00:00:00 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238364000), cron.get_next_run(1238291999)); } 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 + // calc at: Sun Mar 29 01:59:59 CET 2009 + // expected next run: Sun Mar 29 03:00:00 CEST 2009 CPPUNIT_ASSERT_EQUAL( static_cast(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 + // calc at: Sun Mar 29 03:29:59 CEST 2009 + // expected next run: Mon Mar 30 01:00:00 CEST 2009 CPPUNIT_ASSERT_EQUAL( static_cast(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 + // calc at: Sun Mar 29 01:59:59 CET 2009 + // expected next run: Sun Mar 29 03:00:00 CEST 2009 CPPUNIT_ASSERT_EQUAL( static_cast(1238288400), cron.get_next_run(1238288399)); } - void IntervalInDSTForward4() + void IntervalOutDSTForward() { - // FIXME: Interval start 3600 works, 3599 and below does not - WeekCron cron("0123456",0,86340,60); - // calc at: Sun Mar 29 09:42:06 2009 - // expected next run: Sun Mar 29 09:43:00 2009 - CPPUNIT_ASSERT_EQUAL( static_cast(1238319780), cron.get_next_run(1238319726)); + WeekCron cron("0123456",9000,14400,60); + // calc at: Sun Mar 29 03:29:59 CEST 2009 + // expected next run: Sun Mar 29 03:30:30 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238290200), cron.get_next_run(1238290199)); } - void IntervalInDSTForward5() + void IntervalDuringDSTForward() { - // FIXME: Interval start 3600 works, 3599 and below does not - WeekCron cron("0123456",3599,86340,60); - // calc at: Sun Mar 29 09:42:06 2009 - // expected next run: Sun Mar 29 09:43:00 2009 - CPPUNIT_ASSERT_EQUAL( static_cast(1238319780), cron.get_next_run(1238319726)); + WeekCron cron("0123456",7200,10800,60); + // calc at: Sun Mar 29 01:59:59 CET 2009 + // expected next run: Sun Mar 29 03:00:00 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238288400), cron.get_next_run(1238288399)); } - void IntervalInDSTForward6() + void IntervalDSTForwardWholeday1() { - WeekCron cron("0123456",3600,86340,60); - // calc at: Sun Mar 29 09:42:06 2009 - // expected next run: Sun Mar 29 09:43:00 2009 - CPPUNIT_ASSERT_EQUAL( static_cast(1238319780), cron.get_next_run(1238319726)); + WeekCron cron("03",0,86400,60); + // calc at: Sun Mar 29 23:59:59 CEST 2009 + // expected next run: Wed Apr 1 00:00:00 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238536800), cron.get_next_run(1238363999)); } - void IntervalOutDSTForward() + void IntervalDSTForwardWholeday2() { - 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(1238290200), cron.get_next_run(1238290199)); + WeekCron cron("03",0,86400,60); + // calc at: Mon Mar 30 00:59:59 CEST 2009 + // expected next run: Wed Apr 1 00:00:00 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238536800), cron.get_next_run(1238367599)); } - void IntervalDSTForwardWholeday1() + void IntervalDSTForwardWholeday3() { - 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(1238364000), cron.get_next_run(1238363999)); + WeekCron cron("0123456",0,86340,60); + // calc at: Sun Mar 29 11:42:06 CEST 2009 + // expected next run: Sun Mar 29 11:43:00 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238319780), cron.get_next_run(1238319726)); } - void IntervalDSTForwardWholeday2() + void IntervalDSTForwardWholeday4() { - 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(1238536800), cron.get_next_run(1238367599)); + WeekCron cron("0123456",3599,86340,60); + // calc at: Sun Mar 29 11:42:06 CEST 2009 + // expected next run: Sun Mar 29 11:42:59 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238319779), cron.get_next_run(1238319726)); } + + void IntervalDSTForwardWholeday5() + { + WeekCron cron("0123456",3600,86340,60); + // calc at: Sun Mar 29 11:42:06 CEST 2009 + // expected next run: Sun Mar 29 11:43:00 CEST 2009 + CPPUNIT_ASSERT_EQUAL( static_cast(1238319780), cron.get_next_run(1238319726)); + } + }; CPPUNIT_TEST_SUITE_REGISTRATION(TestCronIntervalFunc); diff --git a/test/test_cron_point.cpp b/test/test_cron_point.cpp index d59a22e..214c28f 100644 --- a/test/test_cron_point.cpp +++ b/test/test_cron_point.cpp @@ -236,6 +236,8 @@ public: void BeforeDSTForward1() { + // TODO: resultat Mon Mar 30 02:00:00 CEST 2009 + WeekCron cron("0123456",7200); // calc at: Sun Mar 29 01:59:59 CET 2009 // expected next run: Sun Mar 29 03:00:00 CEST 2009 @@ -260,6 +262,8 @@ public: void DuringDSTForward() { + // TODO: resultat Mon Mar 30 02:30:00 CEST 2009 + WeekCron cron("0123456",9000); // calc at: Sun Mar 29 01:59:59 CET 2009 // expected next run: Sun Mar 29 03:30:00 CEST 2009 -- 1.7.1