@@ -191,3 +191,319 @@ SCENARIO("Setup a weekly schedule and test isActive Method", "[Scheduler::isActi
191191 }
192192 }
193193}
194+
195+ /* *************************************************************************************/
196+
197+ SCENARIO (" Setup a monthly schedule and test isActive Method" , " [Scheduler::isActive]" )
198+ {
199+ Scheduler schedule (1633305600 , /* Start 4/10/2021 00:00:00 */
200+ 1664841600 , /* End 4/10/2022 00:00:00 */
201+ 600 , /* Duration 00:10:00 */
202+ 201326598 /* Monthly */
203+ /* Day of month 6 */
204+ );
205+
206+ WHEN (" Time is 6/09/2021 00:05:00" )
207+ {
208+ time_now = 1630886700 ;
209+ THEN (" Schedule must be inactive" ) {
210+ REQUIRE (schedule.isActive () == false );
211+ }
212+ }
213+
214+ WHEN (" Time is 6/10/2021 00:05:00" )
215+ {
216+ time_now = 1633478700 ;
217+ THEN (" Schedule must be active" ) {
218+ REQUIRE (schedule.isActive () == true );
219+ }
220+ }
221+
222+ WHEN (" Time is 6/10/2021 00:25:00" )
223+ {
224+ time_now = 1633479900 ;
225+ THEN (" Schedule must be inactive" ) {
226+ REQUIRE (schedule.isActive () == false );
227+ }
228+ }
229+
230+ WHEN (" Time is 6/11/2021 00:05:00" )
231+ {
232+ time_now = 1636157100 ;
233+ THEN (" Schedule must be active" ) {
234+ REQUIRE (schedule.isActive () == true );
235+ }
236+ }
237+
238+ WHEN (" Time is 6/11/2021 00:25:00" )
239+ {
240+ time_now = 1636158300 ;
241+ THEN (" Schedule must be inactive" ) {
242+ REQUIRE (schedule.isActive () == false );
243+ }
244+ }
245+
246+ WHEN (" Time is 7/11/2021 00:05:00" )
247+ {
248+ time_now = 1636243500 ;
249+ THEN (" Schedule must be inactive" ) {
250+ REQUIRE (schedule.isActive () == false );
251+ }
252+ }
253+
254+ WHEN (" Time is 6/12/2021 00:05:00" )
255+ {
256+ time_now = 1638749100 ;
257+ THEN (" Schedule must be active" ) {
258+ REQUIRE (schedule.isActive () == true );
259+ }
260+ }
261+
262+ WHEN (" Time is 6/01/2022 00:05:00" )
263+ {
264+ time_now = 1641427500 ;
265+ THEN (" Schedule must be active" ) {
266+ REQUIRE (schedule.isActive () == true );
267+ }
268+ }
269+
270+ WHEN (" Time is 6/02/2022 00:05:00" )
271+ {
272+ time_now = 1644105900 ;
273+ THEN (" Schedule must be active" ) {
274+ REQUIRE (schedule.isActive () == true );
275+ }
276+ }
277+
278+ WHEN (" Time is 6/03/2022 00:05:00" )
279+ {
280+ time_now = 1646525100 ;
281+ THEN (" Schedule must be active" ) {
282+ REQUIRE (schedule.isActive () == true );
283+ }
284+ }
285+
286+ WHEN (" Time is 6/04/2022 00:05:00" )
287+ {
288+ time_now = 1649203500 ;
289+ THEN (" Schedule must be active" ) {
290+ REQUIRE (schedule.isActive () == true );
291+ }
292+ }
293+
294+ WHEN (" Time is 6/05/2022 00:05:00" )
295+ {
296+ time_now = 1651795500 ;
297+ THEN (" Schedule must be active" ) {
298+ REQUIRE (schedule.isActive () == true );
299+ }
300+ }
301+
302+ WHEN (" Time is 6/06/2022 00:05:00" )
303+ {
304+ time_now = 1654473900 ;
305+ THEN (" Schedule must be active" ) {
306+ REQUIRE (schedule.isActive () == true );
307+ }
308+ }
309+
310+ WHEN (" Time is 6/07/2022 00:05:00" )
311+ {
312+ time_now = 1657065900 ;
313+ THEN (" Schedule must be active" ) {
314+ REQUIRE (schedule.isActive () == true );
315+ }
316+ }
317+
318+ WHEN (" Time is 6/08/2022 00:05:00" )
319+ {
320+ time_now = 1659744300 ;
321+ THEN (" Schedule must be active" ) {
322+ REQUIRE (schedule.isActive () == true );
323+ }
324+ }
325+
326+ WHEN (" Time is 6/09/2022 00:05:00" )
327+ {
328+ time_now = 1662422700 ;
329+ THEN (" Schedule must be active" ) {
330+ REQUIRE (schedule.isActive () == true );
331+ }
332+ }
333+
334+ WHEN (" Time is 6/10/2022 00:05:00" )
335+ {
336+ time_now = 1665014700 ;
337+ THEN (" Schedule must be inactive" ) {
338+ REQUIRE (schedule.isActive () == false );
339+ }
340+ }
341+ }
342+
343+ /* *************************************************************************************/
344+
345+ SCENARIO (" Setup a yearly schedule and test isActive Method" , " [Scheduler::isActive]" )
346+ {
347+ Scheduler schedule (1633305600 , /* Start 4/10/2021 00:00:00 */
348+ 1759536000 , /* End 4/10/2025 00:00:00 */
349+ 600 , /* Duration 00:10:00 */
350+ 268438022 /* Yearly */
351+ /* Month 11, Day of month 6 */
352+ );
353+
354+ WHEN (" Time is 6/11/2020 00:05:00" )
355+ {
356+ time_now = 1604621100 ;
357+ THEN (" Schedule must be inactive" ) {
358+ REQUIRE (schedule.isActive () == false );
359+ }
360+ }
361+
362+ WHEN (" Time is 6/11/2021 00:05:00" )
363+ {
364+ time_now = 1636157100 ;
365+ THEN (" Schedule must be active" ) {
366+ REQUIRE (schedule.isActive () == true );
367+ }
368+ }
369+
370+ WHEN (" Time is 6/11/2021 00:25:00" )
371+ {
372+ time_now = 1636158300 ;
373+ THEN (" Schedule must be inactive" ) {
374+ REQUIRE (schedule.isActive () == false );
375+ }
376+ }
377+
378+ WHEN (" Time is 6/11/2022 00:05:00" )
379+ {
380+ time_now = 1667693100 ;
381+ THEN (" Schedule must be active" ) {
382+ REQUIRE (schedule.isActive () == true );
383+ }
384+ }
385+
386+ WHEN (" Time is 6/11/2022 00:25:00" )
387+ {
388+ time_now = 1667694300 ;
389+ THEN (" Schedule must be inactive" ) {
390+ REQUIRE (schedule.isActive () == false );
391+ }
392+ }
393+
394+ WHEN (" Time is 7/11/2021 00:05:00" )
395+ {
396+ time_now = 1636243500 ;
397+ THEN (" Schedule must be inactive" ) {
398+ REQUIRE (schedule.isActive () == false );
399+ }
400+ }
401+
402+ WHEN (" Time is 6/11/2023 00:05:00" )
403+ {
404+ time_now = 1699229100 ;
405+ THEN (" Schedule must be active" ) {
406+ REQUIRE (schedule.isActive () == true );
407+ }
408+ }
409+
410+ WHEN (" Time is 6/11/2024 00:05:00" )
411+ {
412+ time_now = 1730851500 ;
413+ THEN (" Schedule must be active" ) {
414+ REQUIRE (schedule.isActive () == true );
415+ }
416+ }
417+
418+ WHEN (" Time is 6/11/2025 00:05:00" )
419+ {
420+ time_now = 1762387500 ;
421+ THEN (" Schedule must be inactive" ) {
422+ REQUIRE (schedule.isActive () == false );
423+ }
424+ }
425+ }
426+
427+ /* *************************************************************************************/
428+
429+ SCENARIO (" Setup a one shot schedule and test isActive Method" , " [Scheduler::isActive]" )
430+ {
431+ Scheduler schedule (1636156800 , /* Start 6/11/2021 00:00:00 */
432+ 1636243199 , /* End 6/11/2021 23:59:59 */
433+ 600 , /* Duration 00:10:00 */
434+ 0 /* One shot */
435+ );
436+
437+ WHEN (" Time is 6/11/2020 00:05:00" )
438+ {
439+ time_now = 1604621100 ;
440+ THEN (" Schedule must be inactive" ) {
441+ REQUIRE (schedule.isActive () == false );
442+ }
443+ }
444+
445+ WHEN (" Time is 6/11/2021 00:05:00" )
446+ {
447+ time_now = 1636157100 ;
448+ THEN (" Schedule must be active" ) {
449+ REQUIRE (schedule.isActive () == true );
450+ }
451+ }
452+
453+ WHEN (" Time is 6/11/2021 00:25:00" )
454+ {
455+ time_now = 1636158300 ;
456+ THEN (" Schedule must be inactive" ) {
457+ REQUIRE (schedule.isActive () == false );
458+ }
459+ }
460+
461+ WHEN (" Time is 6/11/2022 00:05:00" )
462+ {
463+ time_now = 1667693100 ;
464+ THEN (" Schedule must be inactive" ) {
465+ REQUIRE (schedule.isActive () == false );
466+ }
467+ }
468+
469+ WHEN (" Time is 7/11/2021 00:05:00" )
470+ {
471+ time_now = 1636243500 ;
472+ THEN (" Schedule must be inactive" ) {
473+ REQUIRE (schedule.isActive () == false );
474+ }
475+ }
476+
477+ WHEN (" Time is 7/11/2021 00:15:00" )
478+ {
479+ time_now = 1636244100 ;
480+ THEN (" Schedule must be inactive" ) {
481+ REQUIRE (schedule.isActive () == false );
482+ }
483+ }
484+
485+ WHEN (" Time is 6/11/2021 00:11:00" )
486+ {
487+ time_now = 1636157460 ;
488+ THEN (" Schedule must be inactive" ) {
489+ REQUIRE (schedule.isActive () == false );
490+ }
491+ }
492+
493+ WHEN (" Time is 6/11/2021 00:01:00" )
494+ {
495+ time_now = 1636156860 ;
496+ THEN (" Schedule must be active" ) {
497+ REQUIRE (schedule.isActive () == true );
498+ }
499+ }
500+
501+ WHEN (" Time is 7/11/2021 00:11:00" )
502+ {
503+ time_now = 1636243860 ;
504+ THEN (" Schedule must be inactive" ) {
505+ REQUIRE (schedule.isActive () == false );
506+ }
507+ }
508+ }
509+
0 commit comments