@@ -51,3 +51,146 @@ SCENARIO("Tesing cloud type 'Scheduler' Ctor", "[Scheduler::Scheduler]")
5151 }
5252}
5353
54+ /* *************************************************************************************/
55+
56+ SCENARIO (" Setup a schedule that repeats each 20 minutes and test isActive Method" , " [Scheduler::isActive]" )
57+ {
58+ Scheduler schedule (1633305600 , /* Start 4/10/2021 00:00:00 */
59+ 1633651200 , /* End 8/10/2021 00:00:00 */
60+ 600 , /* Duration 00:10:00 */
61+ 0 , /* Minutes */
62+ 20 /* Repeats 00:20:00 */
63+ );
64+
65+ WHEN (" Time is 4/10/2021 00:00:00" )
66+ {
67+ time_now = 1633305600 ;
68+ THEN (" Schedule must be active" ) {
69+ REQUIRE (schedule.isActive () == true );
70+ }
71+ }
72+
73+ WHEN (" Time is 4/10/2021 00:10:00" )
74+ {
75+ time_now = 1633306200 ;
76+ THEN (" Schedule must be active" ) {
77+ REQUIRE (schedule.isActive () == true );
78+ }
79+ }
80+
81+ WHEN (" Time is 4/10/2021 00:10:01" )
82+ {
83+ time_now = 1633306201 ;
84+ THEN (" Schedule must be inactive" ) {
85+ REQUIRE (schedule.isActive () == false );
86+ }
87+ }
88+
89+ WHEN (" Time is 4/10/2021 00:19:59" )
90+ {
91+ time_now = 1633306799 ;
92+ THEN (" Schedule must be inactive" ) {
93+ REQUIRE (schedule.isActive () == false );
94+ }
95+ }
96+
97+ WHEN (" Time is 4/10/2021 00:20:00" )
98+ {
99+ time_now = 1633306800 ;
100+ THEN (" Schedule must be active" ) {
101+ REQUIRE (schedule.isActive () == true );
102+ }
103+ }
104+
105+ WHEN (" Time is 7/10/2021 23:45:00" )
106+ {
107+ time_now = 1633650300 ;
108+ THEN (" Schedule must be active" ) {
109+ REQUIRE (schedule.isActive () == true );
110+ }
111+ }
112+
113+ WHEN (" Time is 7/10/2021 23:55:00" )
114+ {
115+ time_now = 1633650900 ;
116+ THEN (" Schedule must be inactive" ) {
117+ REQUIRE (schedule.isActive () == false );
118+ }
119+ }
120+
121+ WHEN (" Time is 8/10/2021 00:00:00" )
122+ {
123+ time_now = 1633651200 ;
124+ THEN (" Schedule must be inactive" ) {
125+ REQUIRE (schedule.isActive () == false );
126+ }
127+ }
128+
129+ WHEN (" Time is 8/10/2021 00:05:00" )
130+ {
131+ time_now = 1633651500 ;
132+ THEN (" Schedule must be inactive" ) {
133+ REQUIRE (schedule.isActive () == false );
134+ }
135+ }
136+ }
137+
138+ /* *************************************************************************************/
139+
140+ SCENARIO (" Setup a weekly schedule and test isActive Method" , " [Scheduler::isActive]" )
141+ {
142+ Scheduler schedule (1633305600 , /* Start 4/10/2021 00:00:00 */
143+ 1633651200 , /* End 8/10/2021 00:00:00 */
144+ 600 , /* Duration 00:10:00 */
145+ 3 , /* Weekly */
146+ 70 /* Daymask 1000110 */
147+ );
148+
149+ WHEN (" Time is 4/10/2021 00:05:00" )
150+ {
151+ time_now = 1633305900 ;
152+ THEN (" Schedule must be active" ) {
153+ REQUIRE (schedule.isActive () == true );
154+ }
155+ }
156+
157+ WHEN (" Time is 4/10/2021 00:25:00" )
158+ {
159+ time_now = 1633307100 ;
160+ THEN (" Schedule must be inactive" ) {
161+ REQUIRE (schedule.isActive () == false );
162+ }
163+ }
164+
165+ WHEN (" Time is 5/10/2021 00:05:00" )
166+ {
167+ time_now = 1633392300 ;
168+ THEN (" Schedule must be active" ) {
169+ REQUIRE (schedule.isActive () == true );
170+ }
171+ }
172+
173+ WHEN (" Time is 5/10/2021 00:25:00" )
174+ {
175+ time_now = 1633393500 ;
176+ THEN (" Schedule must be inactive" ) {
177+ REQUIRE (schedule.isActive () == false );
178+ }
179+ }
180+
181+ WHEN (" Time is 6/10/2021 00:05:00" )
182+ {
183+ time_now = 1633478700 ;
184+ THEN (" Schedule must be inactive" ) {
185+ REQUIRE (schedule.isActive () == false );
186+ }
187+ }
188+
189+ WHEN (" Time is 7/10/2021 00:05:00" )
190+ {
191+ time_now = 1633565100 ;
192+ THEN (" Schedule must be inactive" ) {
193+ REQUIRE (schedule.isActive () == false );
194+ }
195+ }
196+ }
0 commit comments