2 * This file is a part of hildon tests
4 * Copyright (C) 2006, 2007 Nokia Corporation, all rights reserved.
6 * Contact: Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; version 2.1 of
11 * the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
27 #include <gtk/gtkmain.h>
28 #include <gtk/gtkhbox.h>
29 #include <gtk/gtkcontainer.h>
30 #include "test_suites.h"
31 #include "check_utils.h"
35 #include "hildon-time-editor.h"
37 #define MIN_DURATION 0
38 #define MAX_DURATION 359999
40 /* -------------------- Fixtures -------------------- */
42 static GtkWidget *showed_window = NULL;
43 /* static HildonTimeEditor *time_editor = NULL; */
46 fx_setup_default_time_editor ()
50 gtk_init(&argc, NULL);
52 showed_window = create_test_window ();
56 fx_teardown_default_time_editor ()
58 /* Destroy the window */
59 gtk_widget_destroy (showed_window);
62 static HildonTimeEditor *create_and_show_time_editor(GtkWidget *window, gboolean seconds,gboolean duration)
64 HildonTimeEditor *time_editor = NULL;
66 time_editor = HILDON_TIME_EDITOR(hildon_time_editor_new());
68 hildon_time_editor_set_show_seconds(time_editor,seconds);
69 hildon_time_editor_set_duration_mode(time_editor,duration);
71 /* Add some widgets to the window and displays the window */
72 gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET(time_editor));
73 show_all_test_window (window);
75 hildon_time_editor_set_duration_mode(time_editor,duration);
77 fail_if( !HILDON_IS_TIME_EDITOR(time_editor),"hildon-time-editor: Creation failed.");
81 static void remove_and_destroy_time_editor(GtkWidget *window,HildonTimeEditor ** time_editor)
84 gtk_container_remove (GTK_CONTAINER (window), GTK_WIDGET(*time_editor));
85 gtk_widget_hide_all (window);
89 /* -------------------- Test cases -------------------- */
91 /* ----- Test case for set_time -----*/
94 * Purpose: Check that regular time values are set and get properly
96 * - Set and get time to 5h 30m using time editor object.
97 * - Set and get time to 18h 2m using time editor object.
98 * - Set and get time to 5h 30m 45s using time editor object.
99 * - Set and get time to 18h 2m 5s using time editor object.
100 * - Set and get time to 5:30:45 using time editor object with duration mode.
101 * - Set and get time to 50:40:30 using time editor object with duration mode.
103 START_TEST (test_set_time_regular)
106 guint initial_minutes;
107 guint initial_seconds;
111 HildonTimeEditor *time_editor = NULL;
113 /* Test 1: Set time value to 5h 30m 0s to test time (am) without seconds */
118 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
120 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
122 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
123 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
124 "hildon-time-editor: set_time or get_time failed with values (%dh %dm). Result values are: (%dh %dm)",
125 initial_hours,initial_minutes,hours,minutes);
127 remove_and_destroy_time_editor(showed_window,&time_editor);
130 /* Test 2: Set time value to 18h 2m 0s to test time (pm) without seconds*/
135 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
137 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
139 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
141 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
142 "hildon-time-editor: set_time or get_time failed with values (%dh %dm). Result values are: (%dh %dm)",
143 initial_hours,initial_minutes,hours,minutes);
145 remove_and_destroy_time_editor(showed_window,&time_editor);
148 /* Test 3: Set time value to 5h 30m 45s to test time (am) with seconds*/
153 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
155 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
157 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
159 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
160 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
161 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
163 remove_and_destroy_time_editor(showed_window,&time_editor);
165 /* Test 4: Set time value to 18h 2m 5s to test time (pm) with seconds */
171 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
173 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
175 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
177 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
178 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
179 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
181 remove_and_destroy_time_editor(showed_window,&time_editor);
184 /* Test 5: Set time value to 5:30:45 to test duration*/
189 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
190 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
192 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
195 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
196 "hildon-time-editor: set_time or get_time failed with values (%d:%d:%d). Result values are: (%d:%d:%d)",
197 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
199 remove_and_destroy_time_editor(showed_window,&time_editor);
201 /* Test 6: Set time value to 50:40:30 to test duration */
206 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
208 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
210 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
212 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
213 "hildon-time-editor: set_time or get_time failed with values (%d:%d:%d). Result values are: (%d:%d:%d)",
214 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
216 remove_and_destroy_time_editor(showed_window,&time_editor);
223 * Purpose: Check that limit time values are set and get properly
225 * - Set and get time to 0h 0m using time editor object.
226 * - Set and get time to 23h 59m using time editor object.
227 * - Set and get time to 23h 59m 59s using time editor object.
228 * - Set and get time to 0h 59m 59s using time editor object.
229 * - Set and get time to 99:59:59 using time editor object on duration mode.
230 * - Set and get time to 0:0:0 using time editor object on duration mode.
232 START_TEST (test_set_time_limits)
235 guint initial_minutes;
236 guint initial_seconds;
240 HildonTimeEditor *time_editor = NULL;
242 /* Test 1: Set time value to 00h 00m 00s to test time (am) without seconds*/
247 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
249 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
251 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
253 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
254 "hildon-time-editor: set_time or get_time failed with values (%dh %dm). Result values are: (%dh %dm)",
255 initial_hours,initial_minutes,hours,minutes);
257 remove_and_destroy_time_editor(showed_window,&time_editor);
259 /* Test 2: Set time value to 23h 59m 0s to test time (pm) without seconds*/
264 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
266 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
268 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
270 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
271 "hildon-time-editor: set_time or get_time failed with values (%dh %dm). Result values are: (%dh %dm)",
272 initial_hours,initial_minutes,hours,minutes);
274 remove_and_destroy_time_editor(showed_window,&time_editor);
276 /* Test 3: Set time value to 23h 59m 59s to test time (am) with seconds*/
281 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
283 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
285 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
287 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
288 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
289 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
291 remove_and_destroy_time_editor(showed_window,&time_editor);
293 /* Test 4: Set time value to 0h 59m 59s to test time (am) with seconds */
297 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
299 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
301 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
303 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
304 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
305 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
307 remove_and_destroy_time_editor(showed_window,&time_editor);
309 /* Test 5: Set time value to 99:59:59 to test with duration mode */
313 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
315 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
317 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
319 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
320 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
321 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
323 remove_and_destroy_time_editor(showed_window,&time_editor);
325 /* Test 6: Set time value to 0:0:0 to test with duration mode */
330 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
332 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
334 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
336 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
337 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
338 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
340 remove_and_destroy_time_editor(showed_window,&time_editor);
347 * Purpose: Check that invalid time values are set and get properly
349 * - Set NULL the editor time object.
350 * - Test NULL (time object) on get_time
351 * - Set and get time to 0h 60m using time editor object.
352 * - Set and get time to 0h 0m 60s using time editor object.
353 * - Set and get time to 24h 60m 60s using time editor object.
354 * - Set and get time to 50h 100m 100s using time editor object.
355 * - Set and get time to 0:80:80 using time editor object.
356 * - Set and get time to 110:80:80 using time editor object.
358 START_TEST (test_set_time_invalid)
361 guint initial_minutes;
362 guint initial_seconds;
363 guint expected_hours;
364 guint expected_minutes;
365 guint expected_seconds;
369 HildonTimeEditor *time_editor = NULL;
371 /* Initialization to test 1, test 2 and test 3*/
379 /* Test 1: Set NULL (set_time) */
380 hildon_time_editor_set_time (NULL,initial_hours,initial_minutes,initial_seconds);
382 /* Test 2: Set NULL (get_time) */
383 hildon_time_editor_get_time(NULL,&hours,&minutes,&seconds);
385 /* Test 3: Set time value to 00h 60m 00s to test time (am) without seconds and expect the correct value 01h 00m 00s */
387 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
389 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
391 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
393 remove_and_destroy_time_editor(showed_window,&time_editor);
395 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
396 "hildon-time-editor: set_time/get_time failed with (%dh %dm). Result values are (%dh %dm) and expected values are (%dh %dm)",
397 initial_hours,initial_minutes,hours,minutes,expected_hours,expected_minutes);
399 /* Test 4: Set time value to 0h 0m 60s to test time (pm) without seconds and expect the correct value 00h 01m 00s*/
407 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
409 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
411 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
413 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
414 "hildon-time-editor: set_time/get_time failed with (%dh %dm %ds). Result values are (%dh %dm %ds) and expected values are (%dh %dm %ds)",
415 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
417 remove_and_destroy_time_editor(showed_window,&time_editor);
419 /* Test 5: Set time value to 24h 60m 60s to test time (am) with seconds*/
427 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
429 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
431 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
433 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
434 "hildon-time-editor: set_time/get_time failed with values (%dh %dm %ds). Result values are (%dh %dm %ds) and expected values are (%dh %dm %ds)",
435 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
437 remove_and_destroy_time_editor(showed_window,&time_editor);
439 /* Test 6: Set time value to 50h 100m 100s to test time (am) with seconds */
447 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
449 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
451 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
453 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
454 "hildon-time-editor: set_time/get_time failed with values (%d:%dm:%ds). Result values are (%d:%dm:%ds) and expected values are (%d:%dm:%ds)",
455 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
457 remove_and_destroy_time_editor(showed_window,&time_editor);
460 /* Test 7: Set time value to 0:80:80 to test with duration mode */
468 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
470 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
472 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
474 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
475 "hildon-time-editor: set_time/get_time failed with values (%d:%d:%d). Result values are (%d:%d:%d) and expected values are (%d:%d:%d)",
476 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
478 remove_and_destroy_time_editor(showed_window,&time_editor);
480 /* Test 8: Set time value to 110:80:80 to test with duration mode */
488 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
490 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
492 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
495 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
496 "hildon-time-editor: set_time/get_time failed with values (%d:%d:%d). Result values are (%d:%d:%d) and expected values are (%d:%d:%d)",
497 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
499 remove_and_destroy_time_editor(showed_window,&time_editor);
505 /* ----- Test case for set_ticks -----*/
508 * Purpose: Check that regular ticks values are set and get properly
510 * - Set and get ticks to 45660s using time editor object with time mode.
511 * - Set and get ticks to 124860s using time editor object with duration mode.
513 START_TEST (test_set_ticks_regular)
517 HildonTimeEditor *time_editor = NULL;
519 /* Test 1: Set tick to 45660 seconds to test set_ticks */
522 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
524 hildon_time_editor_set_ticks(time_editor,initial_ticks);
526 ticks = hildon_time_editor_get_ticks(time_editor);
528 fail_if(( initial_ticks!=ticks ),
529 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
531 remove_and_destroy_time_editor(showed_window,&time_editor);
534 /* Test 2: Set tick to 124860 seconds to test set_ticks */
536 initial_ticks=124860;
538 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
540 hildon_time_editor_set_ticks(time_editor,initial_ticks);
542 ticks = hildon_time_editor_get_ticks(time_editor);
544 fail_if(( initial_ticks!=ticks ),
545 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
547 remove_and_destroy_time_editor(showed_window,&time_editor);
553 * Purpose: Check that limit ticks values are set and get properly
555 * - Set and get ticks to 0s using time editor object with time mode.
556 * - Set and get ticks to 86399s using time editor object with time mode. 86399 seconds are 23h 59m 59s.
557 * - Set and get ticks to 0s using time editor object with duration mode.
558 * - Set and get ticks to 359999s using time editor object with duration mode. 359999 seconds are 99:59:59.
560 START_TEST (test_set_ticks_limits)
564 HildonTimeEditor *time_editor = NULL;
566 /* Test 1: Set ticks to 0 seconds to test set_ticks with */
569 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
571 hildon_time_editor_set_ticks(time_editor,initial_ticks);
573 ticks = hildon_time_editor_get_ticks(time_editor);
575 fail_if(( initial_ticks!=ticks ),
576 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
578 remove_and_destroy_time_editor(showed_window,&time_editor);
580 /* Test 2: Set ticks to 86399 seconds to test set_ticks */
582 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
584 hildon_time_editor_set_ticks(time_editor,initial_ticks);
586 ticks = hildon_time_editor_get_ticks(time_editor);
588 fail_if(( initial_ticks!=ticks ),
589 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
591 remove_and_destroy_time_editor(showed_window,&time_editor);
594 /* Test 3: Set ticks to 0 seconds to test set_ticks */
597 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
599 hildon_time_editor_set_ticks(time_editor,initial_ticks);
601 ticks = hildon_time_editor_get_ticks(time_editor);
603 fail_if(( initial_ticks!=ticks ),
604 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
606 remove_and_destroy_time_editor(showed_window,&time_editor);
608 /* Test 4: Set ticks to 359999 seconds to test set_ticks */
610 initial_ticks=359999;
611 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
613 hildon_time_editor_set_ticks(time_editor,initial_ticks);
615 ticks = hildon_time_editor_get_ticks(time_editor);
617 fail_if(( initial_ticks!=ticks ),
618 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
619 remove_and_destroy_time_editor(showed_window,&time_editor);
625 * Purpose: Check that invalid ticks values are set and get properly. In this tests we'll test several invalid
626 * values with the same case because the "mod" operator will define the time set.
628 * - Set and get ticks to 86400s using time editor object with time mode. 86399 seconds are 23h 59m 59s.
629 * - Set and get ticks to 360000s using time editor object with time mode.
630 * - Set and get ticks to 90060s using time editor object with time.
631 * - Set and get ticks to 360000s using time editor object with duration mode. 359999 seconds are 99:59:59.
632 * - Set and get ticks to 654333s using time editor object with duration mode.
633 * - Set ticks on NULL object.
635 START_TEST (test_set_ticks_invalid)
638 guint expected_ticks;
640 HildonTimeEditor *time_editor = NULL;
643 expected_ticks=82800;
645 /* Test 1: Set ticks to 86400 seconds to test set_ticks */
646 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
648 hildon_time_editor_set_ticks(time_editor,initial_ticks);
650 ticks = hildon_time_editor_get_ticks(time_editor);
652 fail_if(( expected_ticks!=ticks ),
653 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
654 initial_ticks,expected_ticks,ticks);
656 remove_and_destroy_time_editor(showed_window,&time_editor);
658 /* Test 2: Set ticks to 360000 seconds to test set_ticks */
659 initial_ticks=360001;
660 expected_ticks=82801;
662 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
664 hildon_time_editor_set_ticks(time_editor,initial_ticks);
666 ticks = hildon_time_editor_get_ticks(time_editor);
668 fail_if(( expected_ticks!=ticks ),
669 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
670 initial_ticks,expected_ticks,ticks);
672 remove_and_destroy_time_editor(showed_window,&time_editor);
674 /* Test 3: Set ticks to 90060 seconds to test set_ticks */
676 expected_ticks=82860;
678 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
680 hildon_time_editor_set_ticks(time_editor,initial_ticks);
682 ticks = hildon_time_editor_get_ticks(time_editor);
684 fail_if(( expected_ticks!=ticks ),
685 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
686 initial_ticks,expected_ticks,ticks);
688 remove_and_destroy_time_editor(showed_window,&time_editor);
690 /* Test 4: Set ticks to 360000 seconds to test set_ticks */
692 initial_ticks=360000;
693 expected_ticks=359999;
695 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
697 hildon_time_editor_set_ticks(time_editor,initial_ticks);
699 ticks = hildon_time_editor_get_ticks(time_editor);
701 fail_if(( expected_ticks!=ticks ),
702 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
703 initial_ticks,expected_ticks,ticks);
705 remove_and_destroy_time_editor(showed_window,&time_editor);
707 /* Test 5: Set ticks to 654333 seconds to test set_ticks */
709 initial_ticks=654333;
710 expected_ticks=359999;
712 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
714 hildon_time_editor_set_ticks(time_editor,initial_ticks);
716 ticks = hildon_time_editor_get_ticks(time_editor);
718 fail_if(( expected_ticks!=ticks ),
719 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
720 initial_ticks,expected_ticks,ticks);
722 remove_and_destroy_time_editor(showed_window,&time_editor);
724 /* Test 6: Set initial_ticks on NULL */
725 hildon_time_editor_set_ticks(NULL,initial_ticks);
730 /* ----- Test case for set_duration_min_set_duration_max -----*/
733 * Purpose: Check that regular minimum/maximum values are set/get properly and check that set_duration_mode works well,
734 * because min and max can not be set without duration mode set.
736 * - Set and get minimum duration to 100000 having ticks under 100000 using time editor object with duration mode.
737 * - Set and get minimum duration to 100000 having ticks over 100000 using time editor object with duration mode.
738 * - Set and get maximum duration to 200000 having ticks under 200000 using time editor object with duration mode.
739 * - Set and get maximum duration to 200000 having ticks over 200000 using time editor object with duration mode.
741 START_TEST (test_set_duration_min_set_duration_max_regular)
743 guint initial_duration_min;
745 guint initial_duration_max;
747 guint expected_ticks;
749 HildonTimeEditor *time_editor = NULL;
751 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
752 /* Initialize values in order to avoid side effects from previous tests */
753 hildon_time_editor_set_duration_min(time_editor,MIN_DURATION);
754 hildon_time_editor_set_duration_max(time_editor,MAX_DURATION);
758 /* Test 1: Set and get minimum duration to 100000 having ticks under 100000 using time editor object with duration mode. */
759 initial_duration_min=100000;
760 expected_ticks=initial_duration_min;
762 hildon_time_editor_set_ticks(time_editor,initial_duration_min-1000);
763 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
764 duration_min = hildon_time_editor_get_duration_min(time_editor);
765 ticks = hildon_time_editor_get_ticks(time_editor);
767 fail_if(( initial_duration_min!=duration_min) | (ticks!=expected_ticks),
768 "hildon-time-editor: set_duration_min or get_duration_min failed with %d. Expected result is %d. Set ticks to %d, expected ticks are %d and result is %d",
769 initial_duration_min,duration_min,initial_duration_min-1000,expected_ticks,ticks);
771 remove_and_destroy_time_editor(showed_window,&time_editor);
773 /* Test 2: Set and get minimum duration to 100000 having ticks over 100000 using time editor object with duration mode.*/
774 initial_duration_min=100000;
775 expected_ticks=initial_duration_min+980;
777 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
779 hildon_time_editor_set_ticks(time_editor,expected_ticks);
780 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
781 duration_min = hildon_time_editor_get_duration_min(time_editor);
782 ticks = hildon_time_editor_get_ticks(time_editor);
784 fail_if(( initial_duration_min!=duration_min) | (ticks!=expected_ticks),
785 "hildon-time-editor: set_duration_min or get_duration_min failed with %d. Expected result is %d. Set ticks to %d and result is %d",
786 initial_duration_min,duration_min,ticks,expected_ticks);
788 remove_and_destroy_time_editor(showed_window,&time_editor);
792 /* Test 3: Set and get maximum duration to 200000 having ticks under 200000 using time editor object with duration mode. */
793 initial_duration_max=200000;
794 expected_ticks=initial_duration_max-1040;
795 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
797 hildon_time_editor_set_ticks(time_editor,expected_ticks);
798 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
799 duration_max = hildon_time_editor_get_duration_max(time_editor);
800 ticks = hildon_time_editor_get_ticks(time_editor);
802 fail_if(( initial_duration_max!=duration_max) | (ticks!=expected_ticks),
803 "hildon-time-editor: set_duration_max or get_duration_max failed with %d. Expected result is %d. Set ticks to %d and result is %d",
804 initial_duration_max,duration_max,ticks,expected_ticks);
806 remove_and_destroy_time_editor(showed_window,&time_editor);
808 /* Test 4: Set and get maximum duration to 200000 having ticks over 200000 using time editor object with duration mode.*/
809 initial_duration_max=200000;
810 expected_ticks=initial_duration_max+1000;
811 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
813 hildon_time_editor_set_ticks(time_editor,expected_ticks);
814 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
815 duration_max = hildon_time_editor_get_duration_max(time_editor);
816 ticks = hildon_time_editor_get_ticks(time_editor);
818 fail_if(( initial_duration_max!=duration_max) | (ticks!=initial_duration_max),
819 "hildon-time-editor: set_duration_max or get_duration_max failed with %d. Expected result is %d. Set ticks to %d, expected result is %d and result is %d",
820 initial_duration_max,duration_max,expected_ticks,initial_duration_max,ticks);
822 remove_and_destroy_time_editor(showed_window,&time_editor);
829 * Purpose: Check that limits duration minimum/maximum values are set and get properly.
831 * - Set and get minimum duration to MIN_DURATION having ticks over MIN_DURATION using time editor object with duration mode.
832 * - Set and get maximum duration to MAX_DURATION having ticks under MAX_DURATION.
833 * using time editor object with duration mode. 359940 seconds are 99:59:00.
834 * - Set and get maximum duration to MIN_DURATION having ticks over MIN_DURATION using time editor object with duration mode.
835 * - Set and get minimum duration to MAX_DURATION having ticks under MAX_DURATION.
836 * using time editor object with duration mode. 359999 seconds are 99:59:59.
838 START_TEST (test_set_duration_min_set_duration_max_limits)
840 guint initial_duration_min;
842 guint initial_duration_max;
844 guint expected_ticks;
846 HildonTimeEditor *time_editor = NULL;
849 /* Test 1: Set minimum duration to MAX_DURATION seconds having ticks under MAX_DURATION. */
850 expected_ticks=MIN_DURATION+1;
851 initial_duration_min=MIN_DURATION;
853 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
855 hildon_time_editor_set_ticks(time_editor,expected_ticks);
856 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
857 duration_min = hildon_time_editor_get_duration_min(time_editor);
858 ticks = hildon_time_editor_get_ticks(time_editor);
860 fail_if(( initial_duration_min!=duration_min) | (ticks!=expected_ticks),
861 "hildon-time-editor: set_duration_min or get_duration_min failed with %d. Expected result is %d. Set ticks to %d and result is %d",
862 initial_duration_min,duration_min,expected_ticks,ticks);
864 remove_and_destroy_time_editor(showed_window,&time_editor);
866 /* Test 2: Set maximum duration to MAX_DURATION seconds having ticks under MAX_DURATION. */
867 expected_ticks=MAX_DURATION-59;
868 initial_duration_max=MAX_DURATION;
870 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
872 hildon_time_editor_set_ticks(time_editor,expected_ticks);
873 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
874 duration_max = hildon_time_editor_get_duration_max(time_editor);
875 ticks = hildon_time_editor_get_ticks(time_editor);
877 fail_if(( initial_duration_max!=duration_max) | (ticks!=expected_ticks),
878 "hildon-time-editor: set_duration_max or get_duration_max failed with %d. Expected result is %d. Set ticks to %d and result is %d",
879 initial_duration_max,duration_max,expected_ticks,ticks);
881 remove_and_destroy_time_editor(showed_window,&time_editor);
883 /* Test 3: Set and get maximum duration to MIN_DURATION having ticks over MIN_DURATION
884 using time editor object with duration mode. */
885 expected_ticks=MIN_DURATION+1;
886 initial_duration_max=MIN_DURATION;
888 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
890 hildon_time_editor_set_ticks(time_editor,expected_ticks);
891 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
892 duration_max = hildon_time_editor_get_duration_max(time_editor);
893 ticks = hildon_time_editor_get_ticks(time_editor);
895 fail_if(( initial_duration_max!=duration_max) | (ticks!=MIN_DURATION),
896 "hildon-time-editor: set_duration_max or get_duration_max failed with %d. Expected result is %d. Set ticks to %d and result is %d",
897 initial_duration_max,duration_max,expected_ticks,ticks);
899 remove_and_destroy_time_editor(showed_window,&time_editor);
901 /* Test 4: Set and get minimum duration to MIN_DURATION having ticks over MIN_DURATION
902 using time editor object with duration mode. */
903 expected_ticks=MAX_DURATION-1;
904 initial_duration_min=MAX_DURATION;
906 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
908 hildon_time_editor_set_ticks(time_editor,expected_ticks);
909 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
910 duration_min = hildon_time_editor_get_duration_min(time_editor);
911 ticks = hildon_time_editor_get_ticks(time_editor);
913 fail_if(( initial_duration_min!=duration_min) | (ticks!=MAX_DURATION),
914 "hildon-time-editor: set_duration_min or get_duration_min failed with %d. Expected result is %d. Set ticks to %d and result is %d",
915 initial_duration_min,duration_min,ticks,MAX_DURATION);
917 remove_and_destroy_time_editor(showed_window,&time_editor);
923 * Purpose: Check that invalid minimum/maximum duration values are set and get properly.
925 * - Set duration_min on NULL object.
926 * - Set and get minimum duration to MAX_DURATION+1 using time editor object with duration mode
927 * setting ticks previously with a value under MAX_DURATION.
928 * - Set and get minimum duration to MAX_DURATION+1 using time editor object with duration mode
929 * setting ticks previously with a value over MAX_DURATION.
930 * - Set duration_max on NULL object.
931 * - Set and get maximum duration to MAX_DURATION+1 using time editor object with duration mode
932 * setting ticks previously with a value under MAX_DURATION.
933 * - Set and get maximum duration to MAX_DURATION+1 using time editor object with duration mode
934 * setting ticks previously with a value over MAX_DURATION.
936 START_TEST (test_set_duration_min_set_duration_max_invalid)
938 guint initial_duration_min;
939 guint expected_duration_min;
941 guint initial_duration_max;
942 guint expected_duration_max;
944 guint expected_ticks;
946 HildonTimeEditor *time_editor = NULL;
949 /* Test 1: Set minimum duration on NULL object */
950 hildon_time_editor_set_duration_min(NULL,MIN_DURATION);
952 /* Test 2: Set minimum duration to MAX_DURATION+1 seconds to test set_duration_min */
953 initial_duration_min=MAX_DURATION+1;
954 expected_duration_min=MAX_DURATION+1;
955 expected_ticks=MAX_DURATION-1;
957 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
959 hildon_time_editor_set_ticks(time_editor,expected_ticks);
960 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
961 duration_min = hildon_time_editor_get_duration_min(time_editor);
962 ticks = hildon_time_editor_get_ticks(time_editor);
964 fail_if(( expected_duration_min!=duration_min) | (ticks!=MAX_DURATION),
965 "hildon-time-editor: set_duration_min or get_duration_min failed with %d. Expected result is %d and result is %d. Set ticks to %d, expected result is %d and result is %d",
966 initial_duration_min,duration_min,expected_duration_min,expected_ticks,MAX_DURATION,ticks);
968 remove_and_destroy_time_editor(showed_window,&time_editor);
970 /* Test 3: Set minimum duration to MAX_DURATION+1 seconds to test set_duration_min */
971 initial_duration_min=MAX_DURATION+1;
972 expected_duration_min=MAX_DURATION+1;
973 expected_ticks=MAX_DURATION+2;
975 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
977 hildon_time_editor_set_ticks(time_editor,expected_ticks);
978 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
979 duration_min = hildon_time_editor_get_duration_min(time_editor);
980 ticks = hildon_time_editor_get_ticks(time_editor);
982 fail_if(( expected_duration_min!=duration_min) | (ticks!=MAX_DURATION),
983 "hildon-time-editor: set_duration_min or get_duration_min failed with %d. Expected result is %d and result is %d. Set ticks to %d, expected result is %d and result is %d",
984 initial_duration_min,duration_min,expected_duration_min,expected_ticks,MAX_DURATION,ticks);
986 remove_and_destroy_time_editor(showed_window,&time_editor);
988 /* Test 4: Set maximum duration on NULL object */
989 hildon_time_editor_set_duration_max(NULL,MAX_DURATION);
991 /* Test 5: Set maximum duration to MAX_DURATION+1 seconds to test set_duration_max settings ticks under MAX_DURATION*/
992 initial_duration_max=MAX_DURATION+1;
993 expected_duration_max=MAX_DURATION;
994 expected_ticks=MAX_DURATION-59;
996 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
998 hildon_time_editor_set_ticks(time_editor,expected_ticks);
999 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
1000 duration_max = hildon_time_editor_get_duration_max(time_editor);
1001 ticks = hildon_time_editor_get_ticks(time_editor);
1003 fail_if(( expected_duration_max!=duration_max) | (ticks!=expected_ticks),
1004 "hildon-time-editor: set_duration_max or get_duration_max failed with %d. Expected result is %d and result is %d. Set ticks to %d, expected result is %d and result is %d",
1005 initial_duration_max,duration_max,expected_duration_max,expected_ticks,expected_ticks,ticks);
1007 remove_and_destroy_time_editor(showed_window,&time_editor);
1009 /* Initialize values in order to avoid side effects from previous tests */
1010 initial_duration_max=MAX_DURATION+1;
1011 expected_duration_max=MAX_DURATION;
1012 expected_ticks=MAX_DURATION+1;
1014 /* Test 6: Set maximum duration to MAX_DURATION+1 seconds to test set_duration_max setting ticks over MAX_DURATION */
1015 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1017 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1018 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
1019 duration_max = hildon_time_editor_get_duration_max(time_editor);
1020 ticks = hildon_time_editor_get_ticks(time_editor);
1021 fail_if(( expected_duration_max!=duration_max),
1022 "hildon-time-editor: set_duration_max or get_duration_max failed with %d. Expected result is %d and result is %d. Set ticks to %d, expected result is %d and result is %d",
1023 initial_duration_max,duration_max,expected_duration_max,expected_ticks,MAX_DURATION,ticks);
1025 /* fail_if(( expected_duration_max!=duration_max) | (ticks!=MAX_DURATION),
1026 "hildon-time-editor: set_duration_max or get_duration_max failed with %d. Expected result is %d and result is %d. Set ticks to %d, expected result is %d and result is %d",
1027 initial_duration_max,duration_max,expected_duration_max,expected_ticks,MAX_DURATION,ticks);
1029 remove_and_destroy_time_editor(showed_window,&time_editor);
1035 /* ----- Test case for set_duration_range -----*/
1038 * Purpose: Check that regular range values are set and get properly
1040 * - Set and get duration range (100000,200000) having ticks under 100000 using time editor object with duration mode.
1041 * - Set and get duration range (100000,200000) having ticks between 100000 and 200000 using time editor object with duration mode.
1042 * - Set and get duration range (100000,200000) having ticks over 200000 using time editor object with duration mode.
1043 * - Set and get duration range (100000,100000) having ticks under 100000 using time editor object with duration mode.
1044 * - Set and get duration range (100000,100000) having ticks equal to 100000 using time editor object with duration mode.
1045 * - Set and get duration range (100000,100000) having ticks over 100000 using time editor object with duration mode.
1048 START_TEST (test_set_duration_range_regular)
1050 guint initial_duration_min;
1051 guint initial_duration_max;
1054 guint expected_ticks;
1056 HildonTimeEditor *time_editor = NULL;
1058 /* Test 1: Set duration range to (100000,200000) seconds to test set_duration_range having ticks under 100000 */
1059 initial_duration_min=100000;
1060 initial_duration_max=200000;
1061 expected_ticks=90000;
1063 /* Initialize values in order to avoid side effects from previous tests */
1064 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1066 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1067 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1068 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1069 ticks = hildon_time_editor_get_ticks(time_editor);
1071 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1072 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1073 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1075 remove_and_destroy_time_editor(showed_window,&time_editor);
1077 /* Test 2: Set duration range to (100000,200000) seconds to test set_duration_range having ticks between 100000 and 200000 */
1078 initial_duration_min=100000;
1079 initial_duration_max=200000;
1080 expected_ticks=150000;
1081 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1083 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1084 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1085 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1086 ticks = hildon_time_editor_get_ticks(time_editor);
1088 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1089 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1090 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1092 remove_and_destroy_time_editor(showed_window,&time_editor);
1095 /* Test 3: Set duration range to (100000,200000) seconds to test set_duration_range having ticks over 200000*/
1096 initial_duration_min=100000;
1097 initial_duration_max=200000;
1098 expected_ticks=220000;
1100 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1102 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1103 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1104 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1105 ticks = hildon_time_editor_get_ticks(time_editor);
1107 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1108 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1109 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1111 remove_and_destroy_time_editor(showed_window,&time_editor);
1113 /* Test 4: Set duration range to (100000,100000) seconds to test set_duration_range having ticks under 100000 */
1114 initial_duration_min=100000;
1115 initial_duration_max=100000;
1116 expected_ticks=90000;
1118 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1120 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1121 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1122 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1123 ticks = hildon_time_editor_get_ticks(time_editor);
1125 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1126 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1127 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1129 remove_and_destroy_time_editor(showed_window,&time_editor);
1131 /* Test 5: Set duration range to (100000,100000) seconds to test set_duration_range having ticks equal to 100000 */
1132 initial_duration_min=100000;
1133 initial_duration_max=100000;
1134 expected_ticks=100000;
1136 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1138 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1139 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1140 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1141 ticks = hildon_time_editor_get_ticks(time_editor);
1143 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1144 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1145 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1147 remove_and_destroy_time_editor(showed_window,&time_editor);
1149 /* Test 6: Set duration range to (100000,100000) seconds to test set_duration_range having ticks over 100000 */
1150 initial_duration_min=100000;
1151 initial_duration_max=100000;
1152 expected_ticks=120000;
1154 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1156 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1157 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1158 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1159 ticks = hildon_time_editor_get_ticks(time_editor);
1161 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1162 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1163 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1165 remove_and_destroy_time_editor(showed_window,&time_editor);
1172 * Purpose: Check that limits range values are set and get properly
1174 * - Set and get duration range to (MIN_DURATION,MAX_DURATION) having ticks between MIN_DURATION and MAX_DURATION
1175 * using time editor object with duration mode.
1176 * - Set and get duration range to (MIN_DURATION,MIN_DURATION) having ticks over MIN_DURATION
1177 * using time editor object with duration mode.
1178 * - Set and get duration range to (MAX_DURATION,MAX_DURATION) having ticks under MAX_DURATION
1179 * using time editor object with duration mode.
1182 START_TEST (test_set_duration_range_limits)
1184 guint initial_duration_min;
1185 guint initial_duration_max;
1188 guint expected_ticks;
1190 HildonTimeEditor *time_editor = NULL;
1193 /* Test 1: Set duration range to (MIN_DURATION,MAX_DURATION) seconds to test set_duration_range having ticks under MIN_DURATION */
1194 initial_duration_min=MIN_DURATION;
1195 initial_duration_max=MAX_DURATION;
1196 expected_ticks=MIN_DURATION+1;
1198 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1200 /* Initialize values in order to avoid side effects from previous tests */
1201 hildon_time_editor_set_duration_min(time_editor,MIN_DURATION);
1202 hildon_time_editor_set_duration_max(time_editor,MAX_DURATION);
1204 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1205 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1206 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1207 ticks = hildon_time_editor_get_ticks(time_editor);
1209 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1210 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1211 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1213 remove_and_destroy_time_editor(showed_window,&time_editor);
1216 /* Test 2: Set duration range to (MIN_DURATION,MIN_DURATION) seconds to test set_duration_range having ticks over MIN_DURATION */
1217 initial_duration_min=MIN_DURATION;
1218 initial_duration_max=MIN_DURATION;
1219 expected_ticks=MIN_DURATION+1;
1221 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1223 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1224 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1225 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1226 ticks = hildon_time_editor_get_ticks(time_editor);
1228 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1229 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1230 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1232 remove_and_destroy_time_editor(showed_window,&time_editor);
1234 /* Test 3: Set duration range to (MAX_DURATION,MAX_DURATION) seconds to test set_duration_range having ticks under MAX_DURATION */
1235 initial_duration_min=MAX_DURATION;
1236 initial_duration_max=MAX_DURATION;
1237 expected_ticks=MAX_DURATION-1;
1239 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1241 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1242 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1243 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1244 ticks = hildon_time_editor_get_ticks(time_editor);
1246 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1247 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1248 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1250 remove_and_destroy_time_editor(showed_window,&time_editor);
1257 * Purpose: Check that invalid range values are set and get properly
1259 * - Set duration_range on NULL object.
1260 * - Set and get duration range to (MAX_DURATION,MIN_DURATION) using time editor object with duration mode.
1261 * - Set and get duration range to (MIN_DURATION,MAX_DURATION+1) having ticks between MIN_DURATION and MAX_DURATION
1262 * using time editor object with duration mode.
1263 * - Set and get duration range to (MAX_DURATION+1,MIN_DURATION) using time editor object with duration mode.
1264 * - Set and get duration range to (MAX_DURATION+1,MAX_DURATION+3)
1265 * using time editor object with duration mode.
1266 * - Set and get duration range to (MAX_DURATION+3,MAX_DURATION+1)
1267 * using time editor object with duration mode.
1270 START_TEST (test_set_duration_range_invalid)
1272 guint initial_duration_min;
1273 guint initial_duration_max;
1276 guint expected_ticks;
1278 HildonTimeEditor *time_editor = NULL;
1281 /* Test 1: Set duration range on NULL */
1282 hildon_time_editor_set_duration_range(NULL,MIN_DURATION,MAX_DURATION);
1284 /* Test 2: Set duration range to (MAX_DURATION,MIN_DURATION) seconds to test set_duration_range */
1285 initial_duration_min=MAX_DURATION;
1286 initial_duration_max=MIN_DURATION;
1287 expected_ticks=MIN_DURATION+1;
1288 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1290 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1291 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1292 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1293 ticks = hildon_time_editor_get_ticks(time_editor);
1295 fail_if( ( (MIN_DURATION!=duration_min) | (MAX_DURATION!=duration_max) | ( ticks!=MIN_DURATION )),
1296 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1297 MIN_DURATION,MAX_DURATION,duration_min,duration_max,ticks,MIN_DURATION);
1299 remove_and_destroy_time_editor(showed_window,&time_editor);
1301 /* Test 3: Set duration range to (MIN_DURATION,MAX_DURATION+1) seconds to test set_duration_range */
1302 initial_duration_min=MIN_DURATION;
1303 initial_duration_max=MAX_DURATION+1;
1304 expected_ticks=MAX_DURATION-59;
1305 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1307 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1308 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1309 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1310 ticks = hildon_time_editor_get_ticks(time_editor);
1312 fail_if( ( (MIN_DURATION!=duration_min) | (MAX_DURATION!=duration_max) | ( ticks!=MIN_DURATION )),
1313 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1314 MIN_DURATION,MAX_DURATION,duration_min,duration_max,ticks,MIN_DURATION);
1316 remove_and_destroy_time_editor(showed_window,&time_editor);
1319 /* Test 4: Set duration range to (MAX_DURATION+1,MIN_DURATION) seconds to test set_duration_range */
1320 initial_duration_min=MAX_DURATION+1;
1321 initial_duration_max=MIN_DURATION;
1322 expected_ticks=MIN_DURATION-1;
1323 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1325 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1326 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1328 fail_if( ( (MIN_DURATION!=duration_min) | (MAX_DURATION!=duration_max) ),
1329 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). ",
1330 MIN_DURATION,MAX_DURATION,duration_min,duration_max);
1332 remove_and_destroy_time_editor(showed_window,&time_editor);
1335 /* Test 5: Set duration range to (MAX_DURATION+1,MIN_DURATION+3) seconds to test set_duration_range */
1336 initial_duration_min=MAX_DURATION+1;
1337 initial_duration_max=MAX_DURATION+3;
1338 expected_ticks=MAX_DURATION+1;
1340 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1342 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1343 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1344 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1345 ticks = hildon_time_editor_get_ticks(time_editor);
1347 /* fail_if( ( (initial_duration_min!=duration_min) | (MAX_DURATION!=duration_max) | ( ticks!=MAX_DURATION )), */
1348 /* "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ", */
1349 /* initial_duration_min,MAX_DURATION,duration_min,duration_max,ticks,MAX_DURATION); */
1351 fail_if( ( (initial_duration_min!=duration_min) | (MAX_DURATION!=duration_max) ),
1352 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1353 initial_duration_min,MAX_DURATION,duration_min,duration_max,ticks,MAX_DURATION);
1355 remove_and_destroy_time_editor(showed_window,&time_editor);
1357 /* Test 6: Set duration range to (MAX_DURATION+3,MIN_DURATION+1) seconds to test set_duration_range */
1358 initial_duration_min=MAX_DURATION+3;
1359 initial_duration_max=MAX_DURATION+1;
1360 expected_ticks=MAX_DURATION+1;
1362 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1364 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1365 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1366 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1367 ticks = hildon_time_editor_get_ticks(time_editor);
1369 fail_if( ( (initial_duration_max!=duration_min) | (MAX_DURATION!=duration_max) | ( ticks!=MAX_DURATION )),
1370 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). Set ticks to %d and expected ticks are %d ",
1371 initial_duration_max,MAX_DURATION,duration_min,duration_max,ticks,MAX_DURATION);
1373 remove_and_destroy_time_editor(showed_window,&time_editor);
1380 /* ---------- Suite creation ---------- */
1382 Suite *create_hildon_time_editor_suite()
1384 /* Create the suite */
1385 Suite *s = suite_create("HildonTimeEditor");
1387 /* Create test cases */
1388 TCase *tc1 = tcase_create("set_time");
1389 TCase *tc2 = tcase_create("set_ticks");
1390 TCase *tc3 = tcase_create("set_duration_min_set_duration_max");
1391 TCase *tc4 = tcase_create("set_duration_range");
1393 /* Create test case for hildon_time_editor_set_time and add it to the suite */
1394 tcase_add_checked_fixture(tc1, fx_setup_default_time_editor, fx_teardown_default_time_editor);
1395 tcase_add_test(tc1, test_set_time_regular);
1396 tcase_add_test(tc1, test_set_time_limits);
1397 tcase_add_test(tc1, test_set_time_invalid);
1398 suite_add_tcase (s, tc1);
1400 /* Create test case for hildon_time_editor_set_ticks and add it to the suite */
1401 tcase_add_checked_fixture(tc2, fx_setup_default_time_editor, fx_teardown_default_time_editor);
1402 tcase_add_test(tc2, test_set_ticks_regular);
1403 tcase_add_test(tc2, test_set_ticks_limits);
1404 tcase_add_test(tc2, test_set_ticks_invalid);
1405 suite_add_tcase (s, tc2);
1407 /* Create test case for hildon_time_editor_set_duration_max and add it to the suite */
1408 tcase_add_checked_fixture(tc3, fx_setup_default_time_editor, fx_teardown_default_time_editor);
1409 tcase_add_test(tc3, test_set_duration_min_set_duration_max_regular);
1410 tcase_add_test(tc3, test_set_duration_min_set_duration_max_limits);
1411 tcase_add_test(tc3, test_set_duration_min_set_duration_max_invalid);
1412 suite_add_tcase (s, tc3);
1414 /* Create test case for hildon_time_editor_set_duration_range and add it to the suite */
1415 tcase_add_checked_fixture(tc4, fx_setup_default_time_editor, fx_teardown_default_time_editor);
1416 tcase_add_test(tc4, test_set_duration_range_regular);
1417 tcase_add_test(tc4, test_set_duration_range_limits);
1418 tcase_add_test(tc4, test_set_duration_range_invalid);
1419 suite_add_tcase (s, tc4);
1421 /* Return created suite */