Commit | Line | Data |
---|---|---|
0e23f538 TJ |
1 | /* |
2 | The software in this package is distributed under the GNU General | |
3 | Public License version 2 (with a special exception described below). | |
4 | ||
5 | A copy of GNU General Public License (GPL) is included in this distribution, | |
6 | in the file COPYING.GPL. | |
7 | ||
8 | As a special exception, if other files instantiate templates or use macros | |
9 | or inline functions from this file, or you compile this file and link it | |
10 | with other works to produce a work based on this file, this file | |
11 | does not by itself cause the resulting work to be covered | |
12 | by the GNU General Public License. | |
13 | ||
14 | However the source code for this file must still be made available | |
15 | in accordance with section (3) of the GNU General Public License. | |
16 | ||
17 | This exception does not invalidate any other reasons why a work based | |
18 | on this file might be covered by the GNU General Public License. | |
19 | */ | |
ac1367c0 GE |
20 | /** @file |
21 | * @brief unit test for cron functions. | |
22 | * | |
23 | * @copyright Copyright © 2009 by Intra2net AG | |
ac1367c0 GE |
24 | * |
25 | */ | |
26 | ||
9fe0853b TJ |
27 | #define BOOST_TEST_DYN_LINK |
28 | #include <boost/test/unit_test.hpp> | |
ac1367c0 GE |
29 | |
30 | #include <time.h> | |
31 | #include <stdlib.h> | |
32 | #include <stdexcept> | |
33 | ||
34 | #include <cron.hpp> | |
35 | ||
36 | using namespace std; | |
37 | using namespace I2n::Time; | |
ac1367c0 | 38 | |
9fe0853b TJ |
39 | class TestCronIntervalFuncFixture |
40 | { | |
ac1367c0 | 41 | public: |
9fe0853b | 42 | TestCronIntervalFuncFixture() |
ac1367c0 GE |
43 | { |
44 | // our check-values are set for Germany | |
45 | setenv("TZ",":Europe/Berlin",1); | |
46 | } | |
9fe0853b | 47 | }; |
ac1367c0 | 48 | |
9fe0853b | 49 | BOOST_FIXTURE_TEST_SUITE(TestCronIntervalFunc, TestCronIntervalFuncFixture) |
ac1367c0 | 50 | |
9fe0853b TJ |
51 | BOOST_AUTO_TEST_CASE(IntervalBeginToday) |
52 | { | |
53 | WeekCron cron("2345",3600,7200,10); | |
54 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233100800), cron.get_next_run(1233099657)); | |
55 | } | |
ac1367c0 | 56 | |
9fe0853b TJ |
57 | BOOST_AUTO_TEST_CASE(IntervalDoneToday) |
58 | { | |
59 | WeekCron cron("2345",3600); | |
60 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233187200), cron.get_next_run(1233150000)); | |
61 | } | |
ac1367c0 | 62 | |
9fe0853b TJ |
63 | BOOST_AUTO_TEST_CASE(IntervalBeginNow) |
64 | { | |
65 | WeekCron cron("2345",3600,7200,10); | |
66 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233100810), cron.get_next_run(1233100800)); | |
67 | } | |
ac1367c0 | 68 | |
9fe0853b TJ |
69 | BOOST_AUTO_TEST_CASE(IntervalBeginStep) |
70 | { | |
71 | WeekCron cron("2345",3600,7200,10); | |
72 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233100820), cron.get_next_run(1233100810)); | |
73 | } | |
ac1367c0 | 74 | |
9fe0853b TJ |
75 | BOOST_AUTO_TEST_CASE(IntervalWithin) |
76 | { | |
77 | WeekCron cron("2345",3600,7200,10); | |
78 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233100830), cron.get_next_run(1233100822)); | |
79 | } | |
ac1367c0 | 80 | |
9fe0853b TJ |
81 | BOOST_AUTO_TEST_CASE(IntervalLaststep1) |
82 | { | |
83 | WeekCron cron("2345",3600,7200,11); | |
84 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233187200), cron.get_next_run(1233104399)); | |
85 | } | |
ac1367c0 | 86 | |
9fe0853b TJ |
87 | BOOST_AUTO_TEST_CASE(IntervalLaststep2) |
88 | { | |
89 | WeekCron cron("2345",3600,7200,11); | |
90 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233187200), cron.get_next_run(1233104398)); | |
91 | } | |
ac1367c0 | 92 | |
9fe0853b TJ |
93 | BOOST_AUTO_TEST_CASE(IntervalLaststep3) |
94 | { | |
95 | WeekCron cron("2345",3600,7199,10); | |
96 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233187200), cron.get_next_run(1233104397)); | |
97 | } | |
ac1367c0 | 98 | |
9fe0853b TJ |
99 | BOOST_AUTO_TEST_CASE(IntervalLaststep4) |
100 | { | |
101 | WeekCron cron("2345",3600,7200,3599); | |
102 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233104399), cron.get_next_run(1233104398)); | |
103 | } | |
ac1367c0 | 104 | |
9fe0853b TJ |
105 | BOOST_AUTO_TEST_CASE(IntervalLaststep5) |
106 | { | |
107 | WeekCron cron("2345",3600,7200,3598); | |
108 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233187200), cron.get_next_run(1233104398)); | |
109 | } | |
ac1367c0 | 110 | |
9fe0853b TJ |
111 | BOOST_AUTO_TEST_CASE(IntervalLaststepMatch) |
112 | { | |
113 | WeekCron cron("2345",3600,7200,10); | |
114 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233187200), cron.get_next_run(1233104399)); | |
115 | } | |
ac1367c0 | 116 | |
9fe0853b TJ |
117 | BOOST_AUTO_TEST_CASE(IntervalEnd) |
118 | { | |
119 | WeekCron cron("2345",3600,7200,10); | |
120 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233187200), cron.get_next_run(1233104400)); | |
121 | } | |
ac1367c0 | 122 | |
9fe0853b TJ |
123 | BOOST_AUTO_TEST_CASE(IntervalBigstep) |
124 | { | |
125 | WeekCron cron("2345",3600,7200,10000); | |
126 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233187200), cron.get_next_run(1233100800)); | |
127 | } | |
ac1367c0 | 128 | |
9fe0853b TJ |
129 | BOOST_AUTO_TEST_CASE(IntervalWholeDayStart) |
130 | { | |
131 | WeekCron cron("345",0,86400,10); | |
132 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233097200), cron.get_next_run(1233097199)); | |
133 | } | |
ac1367c0 | 134 | |
9fe0853b TJ |
135 | BOOST_AUTO_TEST_CASE(IntervalWholeDayStartNow) |
136 | { | |
137 | WeekCron cron("345",0,86400,10); | |
138 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233097210), cron.get_next_run(1233097200)); | |
139 | } | |
ac1367c0 | 140 | |
9fe0853b TJ |
141 | BOOST_AUTO_TEST_CASE(IntervalWholeDayEnd) |
142 | { | |
143 | WeekCron cron("2",0,86400,10); | |
144 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233615600), cron.get_next_run(1233097199)); | |
145 | } | |
ac1367c0 | 146 | |
9fe0853b TJ |
147 | BOOST_AUTO_TEST_CASE(IntervalWholeDayWithin1) |
148 | { | |
149 | WeekCron cron("2345",0,86400,10); | |
150 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233097230), cron.get_next_run(1233097220)); | |
151 | } | |
ac1367c0 | 152 | |
9fe0853b TJ |
153 | BOOST_AUTO_TEST_CASE(IntervalWholeDayWithin2) |
154 | { | |
155 | WeekCron cron("2345",0,86400,10); | |
156 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233097230), cron.get_next_run(1233097229)); | |
157 | } | |
ac1367c0 | 158 | |
9fe0853b TJ |
159 | BOOST_AUTO_TEST_CASE(IntervalWholeDayWithinBoundary) |
160 | { | |
161 | WeekCron cron("2345",0,86400,10); | |
162 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233097200), cron.get_next_run(1233097199)); | |
163 | } | |
ac1367c0 | 164 | |
9fe0853b TJ |
165 | BOOST_AUTO_TEST_CASE(IntervalBeforeOnce) |
166 | { | |
167 | WeekCron cron("2345",0,3600,3600); | |
168 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233183600), cron.get_next_run(1233100799)); | |
169 | } | |
ac1367c0 | 170 | |
9fe0853b TJ |
171 | BOOST_AUTO_TEST_CASE(IntervalBeforeOnceBig) |
172 | { | |
173 | WeekCron cron("2345",0,3600,86400); | |
174 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233183600), cron.get_next_run(1233100799)); | |
175 | } | |
ac1367c0 | 176 | |
9fe0853b TJ |
177 | BOOST_AUTO_TEST_CASE(IntervalAfterOnce) |
178 | { | |
179 | WeekCron cron("2345",0,3600,86400); | |
180 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233183600), cron.get_next_run(1233097200)); | |
181 | } | |
ac1367c0 | 182 | |
9fe0853b TJ |
183 | BOOST_AUTO_TEST_CASE(IntervalOnceShort) |
184 | { | |
185 | WeekCron cron("2345",0,1,86400); | |
186 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233097200), cron.get_next_run(1233097199)); | |
187 | } | |
ac1367c0 | 188 | |
9fe0853b TJ |
189 | BOOST_AUTO_TEST_CASE(IntervalTooShort) |
190 | { | |
191 | WeekCron cron("2345",0,0,86400); | |
192 | BOOST_CHECK_EQUAL( static_cast<time_t>(1233183600), cron.get_next_run(1233097200)); | |
193 | } | |
ac1367c0 | 194 | |
9fe0853b TJ |
195 | BOOST_AUTO_TEST_CASE(IntervalOverDSTBackwards1) |
196 | { | |
197 | WeekCron cron("0123456",0,14400,60); | |
198 | // calc at: Sun Oct 26 01:59:59 CEST 2008 | |
199 | // expected next run: Sun Oct 26 02:00:00 CEST 2008 | |
200 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224979200), cron.get_next_run(1224979199)); | |
201 | } | |
ac1367c0 | 202 | |
9fe0853b TJ |
203 | BOOST_AUTO_TEST_CASE(IntervalOverDSTBackwards2) |
204 | { | |
205 | WeekCron cron("0123456",0,14400,60); | |
206 | // calc at: Sun Oct 26 02:29:59 CEST 2008 | |
207 | // expected next run: Sun Oct 26 02:30:00 CEST 2008 | |
208 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224981000), cron.get_next_run(1224980999)); | |
209 | } | |
ac1367c0 | 210 | |
9fe0853b TJ |
211 | BOOST_AUTO_TEST_CASE(IntervalOverDSTBackwards3) |
212 | { | |
213 | WeekCron cron("0123456",0,14400,60); | |
214 | // calc at: Sun Oct 26 02:59:59 CEST 2008 | |
215 | // expected next run: Sun Oct 26 02:00:00 CET 2008 | |
216 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224982800), cron.get_next_run(1224982799)); | |
217 | } | |
ac1367c0 | 218 | |
9fe0853b TJ |
219 | BOOST_AUTO_TEST_CASE(IntervalOverDSTBackwards4) |
220 | { | |
221 | WeekCron cron("0123456",0,14400,60); | |
222 | // calc at: Sun Oct 26 02:59:59 CET 2008 | |
223 | // expected next run: Sun Oct 26 03:00:00 CET 2008 | |
224 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224986400), cron.get_next_run(1224986399)); | |
225 | } | |
ac1367c0 | 226 | |
9fe0853b TJ |
227 | BOOST_AUTO_TEST_CASE(IntervalInFirstDSTBackwards1) |
228 | { | |
229 | WeekCron cron("0123456",0,9000,60); | |
230 | // calc at: Sun Oct 26 02:28:59 CEST 2008 | |
231 | // expected next run: Sun Oct 26 02:29:00 CEST 2008 | |
232 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224980940), cron.get_next_run(1224980939)); | |
233 | } | |
ac1367c0 | 234 | |
9fe0853b TJ |
235 | BOOST_AUTO_TEST_CASE(IntervalInFirstDSTBackwards2) |
236 | { | |
237 | WeekCron cron("0123456",0,9000,60); | |
238 | // calc at: Sun Oct 26 02:29:01 CEST 2008 | |
239 | // expected next run: Mon Oct 27 00:00:00 CET 2008 | |
240 | BOOST_CHECK_EQUAL( static_cast<time_t>(1225062000), cron.get_next_run(1224980941)); | |
241 | } | |
ac1367c0 | 242 | |
9fe0853b TJ |
243 | BOOST_AUTO_TEST_CASE(IntervalInSecondDSTBackwards1) |
244 | { | |
245 | WeekCron cron("0123456",0,12600,60); | |
246 | // calc at: Sun Oct 26 02:28:59 CET 2008 | |
247 | // expected next run: Sun Oct 26 02:29:00 CET 2008 | |
248 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224984540), cron.get_next_run(1224984539)); | |
249 | } | |
ac1367c0 | 250 | |
9fe0853b TJ |
251 | BOOST_AUTO_TEST_CASE(IntervalInSecondDSTBackwards2) |
252 | { | |
253 | WeekCron cron("0123456",0,12600,60); | |
254 | // calc at: Sun Oct 26 02:29:01 CET 2008 | |
255 | // expected next run: Sun Oct 26 02:30:00 CET 2008 | |
256 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224984600), cron.get_next_run(1224984541)); | |
257 | } | |
ac1367c0 | 258 | |
9fe0853b TJ |
259 | BOOST_AUTO_TEST_CASE(IntervalOutFirstDSTBackwards1) |
260 | { | |
261 | WeekCron cron("0123456",9000,18000,60); | |
262 | // calc at: Sun Oct 26 02:29:00 CEST 2008 | |
263 | // expected next run: Sun Oct 26 02:30:00 CET 2008 | |
264 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224984600), cron.get_next_run(1224980940)); | |
265 | } | |
ac1367c0 | 266 | |
9fe0853b TJ |
267 | BOOST_AUTO_TEST_CASE(IntervalOutFirstDSTBackwards2) |
268 | { | |
269 | WeekCron cron("0123456",9000,18000,60); | |
270 | // calc at: Sun Oct 26 02:29:00 CET 2008 | |
271 | // expected next run: Sun Oct 26 02:30:00 CET 2008 | |
272 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224984600), cron.get_next_run(1224984540)); | |
273 | } | |
ac1367c0 | 274 | |
9fe0853b TJ |
275 | BOOST_AUTO_TEST_CASE(IntervalOutSecondDSTBackwards1) |
276 | { | |
277 | WeekCron cron("0123456",12600,18000,60); | |
278 | // calc at: Sun Oct 26 02:29:59 CET 2008 | |
279 | // expected next run: Sun Oct 26 03:30:00 CET 2008 | |
280 | BOOST_CHECK_EQUAL( static_cast<time_t>(1224988200), cron.get_next_run(1224984599)); | |
281 | } | |
94278e1f | 282 | |
9fe0853b TJ |
283 | BOOST_AUTO_TEST_CASE(IntervalDSTBackwardsWholeday1) |
284 | { | |
285 | WeekCron cron("0123456",0,86400,60); | |
286 | // calc at: Sun Oct 26 22:58:59 CET 2008 | |
287 | // expected next run: Sun Oct 26 22:59:00 CET 2008 | |
288 | BOOST_CHECK_EQUAL( static_cast<time_t>(1225058340), cron.get_next_run(1225058339)); | |
289 | } | |
94278e1f | 290 | |
9fe0853b TJ |
291 | BOOST_AUTO_TEST_CASE(IntervalDSTBackwardsWholeday2) |
292 | { | |
293 | WeekCron cron("0123456",0,86400,60); | |
294 | // calc at: Sun Oct 26 22:59:59 CET 2008 | |
295 | // expected next run: Sun Oct 26 23:00:00 CET 2008 | |
296 | BOOST_CHECK_EQUAL( static_cast<time_t>(1225058400), cron.get_next_run(1225058399)); | |
297 | } | |
94278e1f | 298 | |
9fe0853b TJ |
299 | BOOST_AUTO_TEST_CASE(IntervalDSTBackwardsWholeday3) |
300 | { | |
301 | WeekCron cron("0123456",0,86400,60); | |
302 | // calc at: Sun Oct 26 23:30:00 CET 2008 | |
303 | // expected next run: Sun Oct 26 23:31:00 CET 2008 | |
304 | BOOST_CHECK_EQUAL( static_cast<time_t>(1225060260), cron.get_next_run(1225060200)); | |
305 | } | |
94278e1f | 306 | |
9fe0853b TJ |
307 | BOOST_AUTO_TEST_CASE(IntervalOverDSTForward1) |
308 | { | |
309 | WeekCron cron("0123456",0,14400,60); | |
310 | // calc at: Sun Mar 29 01:59:59 CET 2009 | |
311 | // expected next run: Sun Mar 29 03:00:00 CEST 2009 | |
312 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238288400), cron.get_next_run(1238288399)); | |
313 | } | |
94278e1f | 314 | |
9fe0853b TJ |
315 | BOOST_AUTO_TEST_CASE(IntervalOverDSTForward2) |
316 | { | |
317 | WeekCron cron("0123456",0,14400,60); | |
318 | // calc at: Sun Mar 29 03:58:59 CEST 2009 | |
319 | // expected next run: Sun Mar 29 03:59:00 CEST 2009 | |
320 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238291940), cron.get_next_run(1238291939)); | |
321 | } | |
94278e1f | 322 | |
9fe0853b TJ |
323 | BOOST_AUTO_TEST_CASE(IntervalOverDSTForward3) |
324 | { | |
325 | WeekCron cron("0123456",0,14400,60); | |
326 | // calc at: Sun Mar 29 03:59:59 CEST 2009 | |
327 | // expected next run: Mon Mar 30 00:00:00 CEST 2009 | |
328 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238364000), cron.get_next_run(1238291999)); | |
329 | } | |
94278e1f | 330 | |
9fe0853b TJ |
331 | BOOST_AUTO_TEST_CASE(IntervalInDSTForward1) |
332 | { | |
333 | WeekCron cron("0123456",3600,9000,60); | |
334 | // calc at: Sun Mar 29 01:59:59 CET 2009 | |
335 | // expected next run: Sun Mar 29 03:00:00 CEST 2009 | |
0bd1e98c | 336 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238288400), cron.get_next_run(1238288399)); |
9fe0853b | 337 | } |
94278e1f | 338 | |
9fe0853b TJ |
339 | BOOST_AUTO_TEST_CASE(IntervalInDSTForward2) |
340 | { | |
341 | WeekCron cron("0123456",3600,9000,60); | |
342 | // calc at: Sun Mar 29 03:29:59 CEST 2009 | |
343 | // expected next run: Mon Mar 30 01:00:00 CEST 2009 | |
344 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238367600), cron.get_next_run(1238290199)); | |
345 | } | |
94278e1f | 346 | |
9fe0853b TJ |
347 | BOOST_AUTO_TEST_CASE(IntervalInDSTForward3) |
348 | { | |
349 | WeekCron cron("0123456",7200,9000,60); | |
350 | // calc at: Sun Mar 29 01:59:59 CET 2009 | |
351 | // expected next run: Sun Mar 29 03:00:00 CEST 2009 | |
0bd1e98c | 352 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238288400), cron.get_next_run(1238288399)); |
9fe0853b | 353 | } |
300d1c09 | 354 | |
9fe0853b TJ |
355 | BOOST_AUTO_TEST_CASE(IntervalOutDSTForward) |
356 | { | |
357 | WeekCron cron("0123456",9000,14400,60); | |
358 | // calc at: Sun Mar 29 03:29:59 CEST 2009 | |
359 | // expected next run: Sun Mar 29 03:30:30 CEST 2009 | |
360 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238290200), cron.get_next_run(1238290199)); | |
361 | } | |
300d1c09 | 362 | |
9fe0853b TJ |
363 | BOOST_AUTO_TEST_CASE(IntervalDuringDSTForward) |
364 | { | |
365 | WeekCron cron("0123456",7200,10800,60); | |
366 | // calc at: Sun Mar 29 01:59:59 CET 2009 | |
367 | // expected next run: Sun Mar 29 03:00:00 CEST 2009 | |
0bd1e98c | 368 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238288400), cron.get_next_run(1238288399)); |
9fe0853b | 369 | } |
36f76c47 | 370 | |
9fe0853b TJ |
371 | BOOST_AUTO_TEST_CASE(IntervalDSTForwardWholeday1) |
372 | { | |
373 | WeekCron cron("03",0,86400,60); | |
374 | // calc at: Sun Mar 29 23:59:59 CEST 2009 | |
375 | // expected next run: Wed Apr 1 00:00:00 CEST 2009 | |
376 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238536800), cron.get_next_run(1238363999)); | |
377 | } | |
94278e1f | 378 | |
9fe0853b TJ |
379 | BOOST_AUTO_TEST_CASE(IntervalDSTForwardWholeday2) |
380 | { | |
381 | WeekCron cron("03",0,86400,60); | |
382 | // calc at: Mon Mar 30 00:59:59 CEST 2009 | |
383 | // expected next run: Wed Apr 1 00:00:00 CEST 2009 | |
384 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238536800), cron.get_next_run(1238367599)); | |
385 | } | |
94278e1f | 386 | |
9fe0853b TJ |
387 | BOOST_AUTO_TEST_CASE(IntervalDSTForwardWholeday3) |
388 | { | |
389 | WeekCron cron("0123456",0,86340,60); | |
390 | // calc at: Sun Mar 29 11:42:06 CEST 2009 | |
391 | // expected next run: Sun Mar 29 11:43:00 CEST 2009 | |
392 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238319780), cron.get_next_run(1238319726)); | |
393 | } | |
1e372638 | 394 | |
9fe0853b TJ |
395 | BOOST_AUTO_TEST_CASE(IntervalDSTForwardWholeday4) |
396 | { | |
397 | WeekCron cron("0123456",3599,86340,60); | |
398 | // calc at: Sun Mar 29 11:42:06 CEST 2009 | |
399 | // expected next run: Sun Mar 29 11:42:59 CEST 2009 | |
400 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238319779), cron.get_next_run(1238319726)); | |
401 | } | |
1e372638 | 402 | |
9fe0853b TJ |
403 | BOOST_AUTO_TEST_CASE(IntervalDSTForwardWholeday5) |
404 | { | |
405 | WeekCron cron("0123456",3600,86340,60); | |
406 | // calc at: Sun Mar 29 11:42:06 CEST 2009 | |
407 | // expected next run: Sun Mar 29 11:43:00 CEST 2009 | |
408 | BOOST_CHECK_EQUAL( static_cast<time_t>(1238319780), cron.get_next_run(1238319726)); | |
409 | } | |
ac1367c0 | 410 | |
9fe0853b | 411 | BOOST_AUTO_TEST_SUITE_END() |