improve WeekCron-unittests some more
authorGerd von Egidy <gerd.von.egidy@intra2net.com>
Thu, 2 Apr 2009 15:59:33 +0000 (17:59 +0200)
committerGerd von Egidy <gerd.von.egidy@intra2net.com>
Thu, 2 Apr 2009 16:13:27 +0000 (18:13 +0200)
test/test_cron_interval.cpp
test/test_cron_point.cpp

index cf40cce..f39b0b0 100644 (file)
@@ -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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<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));
+        // 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<time_t>(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<time_t>(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<time_t>(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<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));
+        // 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<time_t>(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<time_t>(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<time_t>(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<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
+        // 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<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
+        // 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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(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<time_t>(1238319780), cron.get_next_run(1238319726));
+    }
+
 };
 
 CPPUNIT_TEST_SUITE_REGISTRATION(TestCronIntervalFunc);
index d59a22e..214c28f 100644 (file)
@@ -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