4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Venkatesha Sarpangala <sarpangala.v@samsung.com>, Jayoun Lee <airjany@samsung.com>,
7 * Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
30 int callback(alarm_id_t alarm_id)
35 printf("Alarm[%d] has expired at %s\n", alarm_id, ctime(¤t_time));
41 void test_alarm_update_fail_case_normal()
45 alarm_info_t alarm_info;
53 localtime_r(¤t_time, ¤t_tm);
55 alarm_info.start.year = 0;
56 alarm_info.start.month = 0;
57 alarm_info.start.day = 0;
59 alarm_info.end.year = 0;
60 alarm_info.end.month = 0;
61 alarm_info.end.day = 0;
63 alarm_info.start.hour = 0;
64 alarm_info.start.min = 0;
66 alarm_info.mode.day_of_week = 0;
67 alarm_info.mode.repeat = 1;
69 alarm_info.activation = true;
70 alarm_info.auto_powerup = false;
72 result = alarm_create(&alarm_info, &alarm_id, &error_code);
73 // result must be false
76 result = alarm_update(alarm_id, &alarm_info, &error_code);
80 printf("Test Success: %s\n", __FUNCTION__);
81 alarm_delete(alarm_id, &error_code);
85 printf("Test Failed: %s: error(%d)\n", __FUNCTION__, error_code);
91 printf("Test Failed: %s\n", __FUNCTION__);
95 void test_alarm_update_fail_case_invalid_id()
99 alarm_info_t alarm_info;
106 localtime_r(¤t_time, ¤t_tm);
108 result = alarm_update(1234, &alarm_info, &error_code);
109 // result must be false
111 if ( result == false )
113 printf("Test Success: %s\n", __FUNCTION__);
117 printf("Test Failed: %s: error(%d)\n", __FUNCTION__, error_code);
125 void test_alarm_delete_fail_case_normal()
128 struct tm current_tm;
129 alarm_info_t alarm_info;
137 localtime_r(¤t_time, ¤t_tm);
139 alarm_info.start.year = 0;
140 alarm_info.start.month = 0;
141 alarm_info.start.day = 0;
143 alarm_info.end.year = 0;
144 alarm_info.end.month = 0;
145 alarm_info.end.day = 0;
147 alarm_info.start.hour = 0;
148 alarm_info.start.min = 0;
150 alarm_info.mode.day_of_week = 0;
151 alarm_info.mode.repeat = 1;
153 alarm_info.activation = true;
154 alarm_info.auto_powerup = false;
156 result = alarm_create(&alarm_info, &alarm_id, &error_code);
157 // result must be false
158 if ( result == true )
160 result = alarm_delete(alarm_id, &error_code);
162 if ( result == true )
164 printf("Test Success: %s\n", __FUNCTION__);
168 printf("Test Failed: %s: error(%d)\n", __FUNCTION__, error_code);
174 printf("Test Failed: %s\n", __FUNCTION__);
178 void test_alarm_delete_fail_case_invalid_id()
181 struct tm current_tm;
182 alarm_info_t alarm_info;
186 result = alarm_delete(1234, &error_code);
188 if ( result == false)
190 printf("Test Success: %s\n", __FUNCTION__);
194 printf("Test Failed: %s\n", __FUNCTION__);
198 void test_alarm_create_fail_case_start_start_1()
201 struct tm current_tm;
202 alarm_info_t alarm_info;
210 localtime_r(¤t_time, ¤t_tm);
212 alarm_info.start.year = 0;
213 alarm_info.start.month = 0;
214 alarm_info.start.day = 0;
216 alarm_info.end.year = 0;
217 alarm_info.end.month = 0;
218 alarm_info.end.day = 0;
220 alarm_info.start.hour = 24;
221 alarm_info.start.min = 1;
223 alarm_info.mode.day_of_week = 0;
224 alarm_info.mode.repeat = 1;
226 alarm_info.activation = true;
227 alarm_info.auto_powerup = false;
229 result = alarm_create(&alarm_info, &alarm_id, &error_code);
230 // result must be false
231 if ( result == false )
232 printf("Test Success: %s\n", __FUNCTION__);
235 printf("Test Failed: %s\n", __FUNCTION__);
236 alarm_delete(alarm_id, &error_code);
240 void test_alarm_create_fail_case_start_start_2()
243 struct tm current_tm;
244 alarm_info_t alarm_info;
252 localtime_r(¤t_time, ¤t_tm);
254 alarm_info.start.year = 0;
255 alarm_info.start.month = 0;
256 alarm_info.start.day = 0;
258 alarm_info.end.year = 0;
259 alarm_info.end.month = 0;
260 alarm_info.end.day = 0;
262 alarm_info.start.hour = -1;
263 alarm_info.start.min = 1;
265 alarm_info.mode.day_of_week = 0;
266 alarm_info.mode.repeat = 1;
268 alarm_info.activation = true;
269 alarm_info.auto_powerup = false;
271 result = alarm_create(&alarm_info, &alarm_id, &error_code);
272 // result must be false
273 if ( result == false )
274 printf("Test Success: %s\n", __FUNCTION__);
277 printf("Test Failed: %s\n", __FUNCTION__);
278 alarm_delete(alarm_id, &error_code);
282 void test_alarm_create_fail_case_start_start_3()
285 struct tm current_tm;
286 alarm_info_t alarm_info;
294 localtime_r(¤t_time, ¤t_tm);
296 alarm_info.start.year = 0;
297 alarm_info.start.month = 0;
298 alarm_info.start.day = 0;
300 alarm_info.end.year = 0;
301 alarm_info.end.month = 0;
302 alarm_info.end.day = 0;
304 alarm_info.start.hour = 0;
305 alarm_info.start.min = 60;
307 alarm_info.mode.day_of_week = 0;
308 alarm_info.mode.repeat = 1;
310 alarm_info.activation = true;
311 alarm_info.auto_powerup = false;
313 result = alarm_create(&alarm_info, &alarm_id, &error_code);
314 // result must be false
315 if ( result == false )
316 printf("Test Success: %s\n", __FUNCTION__);
319 printf("Test Failed: %s\n", __FUNCTION__);
320 alarm_delete(alarm_id, &error_code);
324 void test_alarm_create_fail_case_start_start_4()
327 struct tm current_tm;
328 alarm_info_t alarm_info;
336 localtime_r(¤t_time, ¤t_tm);
338 alarm_info.start.year = 0;
339 alarm_info.start.month = 0;
340 alarm_info.start.day = 0;
342 alarm_info.end.year = 0;
343 alarm_info.end.month = 0;
344 alarm_info.end.day = 0;
346 alarm_info.start.hour = 0;
347 alarm_info.start.min = -1;
349 alarm_info.mode.day_of_week = 0;
350 alarm_info.mode.repeat = 1;
352 alarm_info.activation = true;
353 alarm_info.auto_powerup = false;
355 result = alarm_create(&alarm_info, &alarm_id, &error_code);
356 // result must be false
357 if ( result == false )
358 printf("Test Success: %s\n", __FUNCTION__);
361 printf("Test Failed: %s\n", __FUNCTION__);
362 alarm_delete(alarm_id, &error_code);
368 void test_alarm_create_fail_case_start_day_1()
371 struct tm current_tm;
372 alarm_info_t alarm_info;
380 localtime_r(¤t_time, ¤t_tm);
382 alarm_info.start.year = 0;
383 alarm_info.start.month = 2;
384 alarm_info.start.day = 31;
386 alarm_info.end.year = 0;
387 alarm_info.end.month = 0;
388 alarm_info.end.day = 0;
390 alarm_info.start.hour = current_tm.tm_hour;
391 alarm_info.start.min = current_tm.tm_min+1;
393 alarm_info.mode.day_of_week = 0;
394 alarm_info.mode.repeat = 1;
396 alarm_info.activation = true;
397 alarm_info.auto_powerup = false;
399 result = alarm_create(&alarm_info, &alarm_id, &error_code);
400 // result must be false
401 if ( result == false )
402 printf("Test Success: %s\n", __FUNCTION__);
405 printf("Test Failed: %s\n", __FUNCTION__);
406 alarm_delete(alarm_id, &error_code);
410 void test_alarm_create_fail_case_start_day_2()
413 struct tm current_tm;
414 alarm_info_t alarm_info;
422 localtime_r(¤t_time, ¤t_tm);
424 alarm_info.start.year = 0;
425 alarm_info.start.month = 2;
426 alarm_info.start.day = 30;
428 alarm_info.end.year = 0;
429 alarm_info.end.month = 0;
430 alarm_info.end.day = 0;
432 alarm_info.start.hour = current_tm.tm_hour;
433 alarm_info.start.min = current_tm.tm_min+1;
435 alarm_info.mode.day_of_week = 0;
436 alarm_info.mode.repeat = 1;
438 alarm_info.activation = true;
439 alarm_info.auto_powerup = false;
441 result = alarm_create(&alarm_info, &alarm_id, &error_code);
442 // result must be false
443 if ( result == false )
444 printf("Test Success: %s\n", __FUNCTION__);
447 printf("Test Failed: %s\n", __FUNCTION__);
448 alarm_delete(alarm_id, &error_code);
452 void test_alarm_create_fail_case_start_day_3()
455 struct tm current_tm;
456 alarm_info_t alarm_info;
464 localtime_r(¤t_time, ¤t_tm);
466 alarm_info.start.year = 2000;
467 alarm_info.start.month = 2;
468 alarm_info.start.day = 29;
470 alarm_info.end.year = 0;
471 alarm_info.end.month = 0;
472 alarm_info.end.day = 0;
474 alarm_info.start.hour = current_tm.tm_hour;
475 alarm_info.start.min = current_tm.tm_min+1;
477 alarm_info.mode.day_of_week = 0;
478 alarm_info.mode.repeat = 1;
480 alarm_info.activation = true;
481 alarm_info.auto_powerup = false;
483 result = alarm_create(&alarm_info, &alarm_id, &error_code);
484 // result must be false
485 if ( result == false )
486 printf("Test Failed: %s\n", __FUNCTION__);
489 printf("Test Success: %s\n", __FUNCTION__);
490 alarm_delete(alarm_id, &error_code);
494 void test_alarm_create_fail_case_start_day_4()
497 struct tm current_tm;
498 alarm_info_t alarm_info;
506 localtime_r(¤t_time, ¤t_tm);
508 alarm_info.start.year = 1900;
509 alarm_info.start.month = 2;
510 alarm_info.start.day = 29;
512 alarm_info.end.year = 0;
513 alarm_info.end.month = 0;
514 alarm_info.end.day = 0;
516 alarm_info.start.hour = current_tm.tm_hour;
517 alarm_info.start.min = current_tm.tm_min+1;
519 alarm_info.mode.day_of_week = 0;
520 alarm_info.mode.repeat = 1;
522 alarm_info.activation = true;
523 alarm_info.auto_powerup = false;
525 result = alarm_create(&alarm_info, &alarm_id, &error_code);
526 // result must be false
527 if ( result == false )
529 printf("Test Success: %s\n", __FUNCTION__);
533 printf("Test Failed: %s\n", __FUNCTION__);
534 alarm_delete(alarm_id, &error_code);
538 void test_alarm_create_fail_case_start_day_5()
541 struct tm current_tm;
542 alarm_info_t alarm_info;
550 localtime_r(¤t_time, ¤t_tm);
552 alarm_info.start.year = 1900;
553 alarm_info.start.month = 1;
554 alarm_info.start.day = 32;
556 alarm_info.end.year = 0;
557 alarm_info.end.month = 0;
558 alarm_info.end.day = 0;
560 alarm_info.start.hour = current_tm.tm_hour;
561 alarm_info.start.min = current_tm.tm_min+1;
563 alarm_info.mode.day_of_week = 0;
564 alarm_info.mode.repeat = 1;
566 alarm_info.activation = true;
567 alarm_info.auto_powerup = false;
569 result = alarm_create(&alarm_info, &alarm_id, &error_code);
570 // result must be false
571 if ( result == false )
573 printf("Test Success: %s\n", __FUNCTION__);
577 printf("Test Failed: %s\n", __FUNCTION__);
578 alarm_delete(alarm_id, &error_code);
582 void test_alarm_create_fail_case_start_day_6()
585 struct tm current_tm;
586 alarm_info_t alarm_info;
594 localtime_r(¤t_time, ¤t_tm);
596 alarm_info.start.year = 1900;
597 alarm_info.start.month = 4;
598 alarm_info.start.day = 31;
600 alarm_info.end.year = 0;
601 alarm_info.end.month = 0;
602 alarm_info.end.day = 0;
604 alarm_info.start.hour = current_tm.tm_hour;
605 alarm_info.start.min = current_tm.tm_min+1;
607 alarm_info.mode.day_of_week = 0;
608 alarm_info.mode.repeat = 1;
610 alarm_info.activation = true;
611 alarm_info.auto_powerup = false;
613 result = alarm_create(&alarm_info, &alarm_id, &error_code);
614 // result must be false
615 if ( result == false )
617 printf("Test Success: %s\n", __FUNCTION__);
621 printf("Test Failed: %s\n", __FUNCTION__);
622 alarm_delete(alarm_id, &error_code);
628 void test_alarm_create_fail_case_start_month_1()
631 struct tm current_tm;
632 alarm_info_t alarm_info;
640 localtime_r(¤t_time, ¤t_tm);
642 alarm_info.start.year = 0;
643 alarm_info.start.month = -1;
644 alarm_info.start.day = 0;
646 alarm_info.end.year = 0;
647 alarm_info.end.month = 0;
648 alarm_info.end.day = 0;
650 alarm_info.start.hour = current_tm.tm_hour;
651 alarm_info.start.min = current_tm.tm_min+1;
653 alarm_info.mode.day_of_week = 0;
654 alarm_info.mode.repeat = 1;
656 alarm_info.activation = true;
657 alarm_info.auto_powerup = false;
659 result = alarm_create(&alarm_info, &alarm_id, &error_code);
660 // result must be false
661 if ( result == false )
662 printf("Test Success: %s\n", __FUNCTION__);
665 printf("Test Failed: %s\n", __FUNCTION__);
666 alarm_delete(alarm_id, &error_code);
670 void test_alarm_create_fail_case_start_month_2()
673 struct tm current_tm;
674 alarm_info_t alarm_info;
682 localtime_r(¤t_time, ¤t_tm);
684 alarm_info.start.year = 0;
685 alarm_info.start.month = 13;
686 alarm_info.start.day = 0;
688 alarm_info.end.year = 0;
689 alarm_info.end.month = 0;
690 alarm_info.end.day = 0;
692 alarm_info.start.hour = current_tm.tm_hour;
693 alarm_info.start.min = current_tm.tm_min+1;
695 alarm_info.mode.day_of_week = 0;
696 alarm_info.mode.repeat = 1;
698 alarm_info.activation = true;
699 alarm_info.auto_powerup = false;
701 result = alarm_create(&alarm_info, &alarm_id, &error_code);
702 // result must be false
703 if ( result == false )
704 printf("Test Success: %s\n", __FUNCTION__);
707 printf("Test Failed: %s\n", __FUNCTION__);
708 alarm_delete(alarm_id, &error_code);
712 // Invalid day of week
713 void test_alarm_create_fail_case_day_of_week()
716 struct tm current_tm;
717 alarm_info_t alarm_info;
725 localtime_r(¤t_time, ¤t_tm);
727 alarm_info.start.year = 0;
728 alarm_info.start.month = 0;
729 alarm_info.start.day = 0;
731 alarm_info.end.year = 0;
732 alarm_info.end.month = 0;
733 alarm_info.end.day = 0;
735 alarm_info.start.hour = current_tm.tm_hour;
736 alarm_info.start.min = current_tm.tm_min+1;
738 alarm_info.mode.day_of_week = ALARM_WDAY_SATURDAY << 1;
739 alarm_info.mode.repeat = ALARM_REPEAT_MODE_ANNUALLY;
741 alarm_info.activation = true;
742 alarm_info.auto_powerup = false;
744 result = alarm_create(&alarm_info, &alarm_id, &error_code);
746 // result must be false
747 if ( result == false )
748 printf("Test Success: %s\n", __FUNCTION__);
751 printf("Test Failed: %s\n", __FUNCTION__);
752 alarm_delete(alarm_id, &error_code);
757 /* Invalid repeat mode */
758 void test_alarm_create_fail_case_repeat_mode()
761 struct tm current_tm;
762 alarm_info_t alarm_info;
771 localtime_r(¤t_time, ¤t_tm);
773 alarm_info.start.year = 0;
774 alarm_info.start.month = 0;
775 alarm_info.start.day = 0;
777 alarm_info.end.year = 0;
778 alarm_info.end.month = 0;
779 alarm_info.end.day = 0;
781 alarm_info.start.hour = current_tm.tm_hour;
782 alarm_info.start.min = current_tm.tm_min+1;
784 alarm_info.mode.day_of_week = 0;
785 alarm_info.mode.repeat = ALARM_REPEAT_MODE_ANNUALLY + 1;
787 alarm_info.activation = true;
788 alarm_info.auto_powerup = false;
790 result = alarm_create(&alarm_info, &alarm_id, &error_code);
792 // result must be false
793 if ( result == false )
794 printf("Test Success: %s\n", __FUNCTION__);
797 printf("Test Failed: %s\n", __FUNCTION__);
798 alarm_delete(alarm_id, &error_code);
803 int main(int argc, char** argv)
806 noti_init(&error_code);
808 alarm_init(&error_code);
809 alarm_set_cb(callback, &error_code);
811 test_alarm_create_fail_case_repeat_mode();
812 test_alarm_create_fail_case_day_of_week();
813 test_alarm_create_fail_case_start_month_1();
814 test_alarm_create_fail_case_start_month_2();
815 test_alarm_create_fail_case_start_day_1();
816 test_alarm_create_fail_case_start_day_2();
817 test_alarm_create_fail_case_start_day_3();
818 test_alarm_create_fail_case_start_day_4();
819 test_alarm_create_fail_case_start_day_5();
820 test_alarm_create_fail_case_start_day_6();
821 test_alarm_create_fail_case_start_start_1();
822 test_alarm_create_fail_case_start_start_2();
823 test_alarm_create_fail_case_start_start_3();
824 test_alarm_create_fail_case_start_start_4();
825 test_alarm_delete_fail_case_normal();
826 test_alarm_delete_fail_case_invalid_id();
827 test_alarm_update_fail_case_normal();
828 test_alarm_update_fail_case_invalid_id();
830 noti_finish(&error_code);
831 alarm_fini(&error_code);