2 * Copyright (C) 2006 Nokia Corporation.
4 * Contact: Luc Pionchon <luc.pionchon@nokia.com>
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public License
8 * as published by the Free Software Foundation; either version 2.1 of
9 * the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
25 #include <gtk/gtkmain.h>
26 #include <gtk/gtkhbox.h>
27 #include <gtk/gtkcontainer.h>
28 #include "test_suites.h"
29 #include "check_utils.h"
33 #include "hildon-time-editor.h"
35 #define MIN_DURATION 0
36 #define MAX_DURATION 359999
38 /* -------------------- Fixtures -------------------- */
40 static GtkWidget *showed_window = NULL;
41 /* static HildonTimeEditor *time_editor = NULL; */
44 fx_setup_default_time_editor ()
48 gtk_init(&argc, NULL);
50 showed_window = create_test_window ();
54 fx_teardown_default_time_editor ()
56 /* Destroy the window */
57 gtk_widget_destroy (showed_window);
60 static HildonTimeEditor *create_and_show_time_editor(GtkWidget *window, gboolean seconds,gboolean duration)
62 HildonTimeEditor *time_editor = NULL;
64 time_editor = HILDON_TIME_EDITOR(hildon_time_editor_new());
66 hildon_time_editor_set_show_seconds(time_editor,seconds);
67 hildon_time_editor_set_duration_mode(time_editor,duration);
69 /* Add some widgets to the window and displays the window */
70 gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET(time_editor));
71 show_all_test_window (window);
73 hildon_time_editor_set_duration_mode(time_editor,duration);
75 fail_if( !HILDON_IS_TIME_EDITOR(time_editor),"hildon-time-editor: Creation failed.");
79 static void remove_and_destroy_time_editor(GtkWidget *window,HildonTimeEditor ** time_editor)
82 gtk_container_remove (GTK_CONTAINER (window), GTK_WIDGET(*time_editor));
83 gtk_widget_hide_all (window);
87 /* -------------------- Test cases -------------------- */
89 /* ----- Test case for set_time -----*/
92 * Purpose: Check that regular time values are set and get properly
94 * - Set and get time to 5h 30m using time editor object.
95 * - Set and get time to 18h 2m using time editor object.
96 * - Set and get time to 5h 30m 45s using time editor object.
97 * - Set and get time to 18h 2m 5s using time editor object.
98 * - Set and get time to 5:30:45 using time editor object with duration mode.
99 * - Set and get time to 50:40:30 using time editor object with duration mode.
101 START_TEST (test_set_time_regular)
104 guint initial_minutes;
105 guint initial_seconds;
109 HildonTimeEditor *time_editor = NULL;
111 /* Test 1: Set time value to 5h 30m 0s to test time (am) without seconds */
116 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
118 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
120 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
121 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
122 "hildon-time-editor: set_time or get_time failed with values (%dh %dm). Result values are: (%dh %dm)",
123 initial_hours,initial_minutes,hours,minutes);
125 remove_and_destroy_time_editor(showed_window,&time_editor);
128 /* Test 2: Set time value to 18h 2m 0s to test time (pm) without seconds*/
133 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
135 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
137 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
139 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
140 "hildon-time-editor: set_time or get_time failed with values (%dh %dm). Result values are: (%dh %dm)",
141 initial_hours,initial_minutes,hours,minutes);
143 remove_and_destroy_time_editor(showed_window,&time_editor);
146 /* Test 3: Set time value to 5h 30m 45s to test time (am) with seconds*/
151 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
153 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
155 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
157 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
158 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
159 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
161 remove_and_destroy_time_editor(showed_window,&time_editor);
163 /* Test 4: Set time value to 18h 2m 5s to test time (pm) with seconds */
169 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
171 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
173 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
175 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
176 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
177 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
179 remove_and_destroy_time_editor(showed_window,&time_editor);
182 /* Test 5: Set time value to 5:30:45 to test duration*/
187 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
188 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
190 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
193 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
194 "hildon-time-editor: set_time or get_time failed with values (%d:%d:%d). Result values are: (%d:%d:%d)",
195 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
197 remove_and_destroy_time_editor(showed_window,&time_editor);
199 /* Test 6: Set time value to 50:40:30 to test duration */
204 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
206 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
208 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
210 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
211 "hildon-time-editor: set_time or get_time failed with values (%d:%d:%d). Result values are: (%d:%d:%d)",
212 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
214 remove_and_destroy_time_editor(showed_window,&time_editor);
221 * Purpose: Check that limit time values are set and get properly
223 * - Set and get time to 0h 0m using time editor object.
224 * - Set and get time to 23h 59m using time editor object.
225 * - Set and get time to 23h 59m 59s using time editor object.
226 * - Set and get time to 0h 59m 59s using time editor object.
227 * - Set and get time to 99:59:59 using time editor object on duration mode.
228 * - Set and get time to 0:0:0 using time editor object on duration mode.
230 START_TEST (test_set_time_limits)
233 guint initial_minutes;
234 guint initial_seconds;
238 HildonTimeEditor *time_editor = NULL;
240 /* Test 1: Set time value to 00h 00m 00s to test time (am) without seconds*/
245 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
247 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
249 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
251 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
252 "hildon-time-editor: set_time or get_time failed with values (%dh %dm). Result values are: (%dh %dm)",
253 initial_hours,initial_minutes,hours,minutes);
255 remove_and_destroy_time_editor(showed_window,&time_editor);
257 /* Test 2: Set time value to 23h 59m 0s to test time (pm) without seconds*/
262 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
264 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
266 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
268 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
269 "hildon-time-editor: set_time or get_time failed with values (%dh %dm). Result values are: (%dh %dm)",
270 initial_hours,initial_minutes,hours,minutes);
272 remove_and_destroy_time_editor(showed_window,&time_editor);
274 /* Test 3: Set time value to 23h 59m 59s to test time (am) with seconds*/
279 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
281 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
283 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
285 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
286 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
287 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
289 remove_and_destroy_time_editor(showed_window,&time_editor);
291 /* Test 4: Set time value to 0h 59m 59s to test time (am) with seconds */
295 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
297 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
299 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
301 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
302 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
303 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
305 remove_and_destroy_time_editor(showed_window,&time_editor);
307 /* Test 5: Set time value to 99:59:59 to test with duration mode */
311 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
313 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
315 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
317 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
318 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
319 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
321 remove_and_destroy_time_editor(showed_window,&time_editor);
323 /* Test 6: Set time value to 0:0:0 to test with duration mode */
328 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
330 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
332 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
334 fail_if((hours != initial_hours) || (minutes != initial_minutes) || (seconds != initial_seconds),
335 "hildon-time-editor: set_time or get_time failed with values (%dh %dm %ds). Result values are: (%dh %dm %ds)",
336 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds);
338 remove_and_destroy_time_editor(showed_window,&time_editor);
345 * Purpose: Check that invalid time values are set and get properly
347 * - Set NULL the editor time object.
348 * - Test NULL (time object) on get_time
349 * - Set and get time to 0h 60m using time editor object.
350 * - Set and get time to 0h 0m 60s using time editor object.
351 * - Set and get time to 24h 60m 60s using time editor object.
352 * - Set and get time to 50h 100m 100s using time editor object.
353 * - Set and get time to 0:80:80 using time editor object.
354 * - Set and get time to 110:80:80 using time editor object.
356 START_TEST (test_set_time_invalid)
359 guint initial_minutes;
360 guint initial_seconds;
361 guint expected_hours;
362 guint expected_minutes;
363 guint expected_seconds;
367 HildonTimeEditor *time_editor = NULL;
369 /* Initialization to test 1, test 2 and test 3*/
377 /* Test 1: Set NULL (set_time) */
378 hildon_time_editor_set_time (NULL,initial_hours,initial_minutes,initial_seconds);
380 /* Test 2: Set NULL (get_time) */
381 hildon_time_editor_get_time(NULL,&hours,&minutes,&seconds);
383 /* Test 3: Set time value to 00h 60m 00s to test time (am) without seconds and expect the correct value 01h 00m 00s */
385 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
387 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
389 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
391 remove_and_destroy_time_editor(showed_window,&time_editor);
393 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
394 "hildon-time-editor: set_time/get_time failed with (%dh %dm). Result values are (%dh %dm) and expected values are (%dh %dm)",
395 initial_hours,initial_minutes,hours,minutes,expected_hours,expected_minutes);
397 /* Test 4: Set time value to 0h 0m 60s to test time (pm) without seconds and expect the correct value 00h 01m 00s*/
405 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
407 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
409 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
411 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
412 "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)",
413 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
415 remove_and_destroy_time_editor(showed_window,&time_editor);
417 /* Test 5: Set time value to 24h 60m 60s to test time (am) with seconds*/
425 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
427 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
429 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
431 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
432 "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)",
433 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
435 remove_and_destroy_time_editor(showed_window,&time_editor);
437 /* Test 6: Set time value to 50h 100m 100s to test time (am) with seconds */
445 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
447 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
449 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
451 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
452 "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)",
453 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
455 remove_and_destroy_time_editor(showed_window,&time_editor);
458 /* Test 7: Set time value to 0:80:80 to test with duration mode */
466 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
468 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
470 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
472 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
473 "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)",
474 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
476 remove_and_destroy_time_editor(showed_window,&time_editor);
478 /* Test 8: Set time value to 110:80:80 to test with duration mode */
486 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
488 hildon_time_editor_set_time(time_editor,initial_hours,initial_minutes,initial_seconds);
490 hildon_time_editor_get_time(time_editor,&hours,&minutes,&seconds);
493 fail_if((expected_hours != hours) || (expected_minutes != minutes) || (expected_seconds != seconds),
494 "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)",
495 initial_hours,initial_minutes,initial_seconds,hours,minutes,seconds,expected_hours,expected_minutes,expected_seconds);
497 remove_and_destroy_time_editor(showed_window,&time_editor);
503 /* ----- Test case for set_ticks -----*/
506 * Purpose: Check that regular ticks values are set and get properly
508 * - Set and get ticks to 45660s using time editor object with time mode.
509 * - Set and get ticks to 124860s using time editor object with duration mode.
511 START_TEST (test_set_ticks_regular)
515 HildonTimeEditor *time_editor = NULL;
517 /* Test 1: Set tick to 45660 seconds to test set_ticks */
520 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
522 hildon_time_editor_set_ticks(time_editor,initial_ticks);
524 ticks = hildon_time_editor_get_ticks(time_editor);
526 fail_if(( initial_ticks!=ticks ),
527 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
529 remove_and_destroy_time_editor(showed_window,&time_editor);
532 /* Test 2: Set tick to 124860 seconds to test set_ticks */
534 initial_ticks=124860;
536 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
538 hildon_time_editor_set_ticks(time_editor,initial_ticks);
540 ticks = hildon_time_editor_get_ticks(time_editor);
542 fail_if(( initial_ticks!=ticks ),
543 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
545 remove_and_destroy_time_editor(showed_window,&time_editor);
551 * Purpose: Check that limit ticks values are set and get properly
553 * - Set and get ticks to 0s using time editor object with time mode.
554 * - Set and get ticks to 86399s using time editor object with time mode. 86399 seconds are 23h 59m 59s.
555 * - Set and get ticks to 0s using time editor object with duration mode.
556 * - Set and get ticks to 359999s using time editor object with duration mode. 359999 seconds are 99:59:59.
558 START_TEST (test_set_ticks_limits)
562 HildonTimeEditor *time_editor = NULL;
564 /* Test 1: Set ticks to 0 seconds to test set_ticks with */
567 time_editor = create_and_show_time_editor(showed_window,FALSE,FALSE);
569 hildon_time_editor_set_ticks(time_editor,initial_ticks);
571 ticks = hildon_time_editor_get_ticks(time_editor);
573 fail_if(( initial_ticks!=ticks ),
574 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
576 remove_and_destroy_time_editor(showed_window,&time_editor);
578 /* Test 2: Set ticks to 86399 seconds to test set_ticks */
580 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
582 hildon_time_editor_set_ticks(time_editor,initial_ticks);
584 ticks = hildon_time_editor_get_ticks(time_editor);
586 fail_if(( initial_ticks!=ticks ),
587 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
589 remove_and_destroy_time_editor(showed_window,&time_editor);
592 /* Test 3: Set ticks to 0 seconds to test set_ticks */
595 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
597 hildon_time_editor_set_ticks(time_editor,initial_ticks);
599 ticks = hildon_time_editor_get_ticks(time_editor);
601 fail_if(( initial_ticks!=ticks ),
602 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
604 remove_and_destroy_time_editor(showed_window,&time_editor);
606 /* Test 4: Set ticks to 359999 seconds to test set_ticks */
608 initial_ticks=359999;
609 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
611 hildon_time_editor_set_ticks(time_editor,initial_ticks);
613 ticks = hildon_time_editor_get_ticks(time_editor);
615 fail_if(( initial_ticks!=ticks ),
616 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d",initial_ticks,ticks);
617 remove_and_destroy_time_editor(showed_window,&time_editor);
623 * Purpose: Check that invalid ticks values are set and get properly. In this tests we'll test several invalid
624 * values with the same case because the "mod" operator will define the time set.
626 * - Set and get ticks to 86400s using time editor object with time mode. 86399 seconds are 23h 59m 59s.
627 * - Set and get ticks to 360000s using time editor object with time mode.
628 * - Set and get ticks to 90060s using time editor object with time.
629 * - Set and get ticks to 360000s using time editor object with duration mode. 359999 seconds are 99:59:59.
630 * - Set and get ticks to 654333s using time editor object with duration mode.
631 * - Set ticks on NULL object.
633 START_TEST (test_set_ticks_invalid)
636 guint expected_ticks;
638 HildonTimeEditor *time_editor = NULL;
641 expected_ticks=82800;
643 /* Test 1: Set ticks to 86400 seconds to test set_ticks */
644 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
646 hildon_time_editor_set_ticks(time_editor,initial_ticks);
648 ticks = hildon_time_editor_get_ticks(time_editor);
650 fail_if(( expected_ticks!=ticks ),
651 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
652 initial_ticks,expected_ticks,ticks);
654 remove_and_destroy_time_editor(showed_window,&time_editor);
656 /* Test 2: Set ticks to 360000 seconds to test set_ticks */
657 initial_ticks=360001;
658 expected_ticks=82801;
660 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
662 hildon_time_editor_set_ticks(time_editor,initial_ticks);
664 ticks = hildon_time_editor_get_ticks(time_editor);
666 fail_if(( expected_ticks!=ticks ),
667 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
668 initial_ticks,expected_ticks,ticks);
670 remove_and_destroy_time_editor(showed_window,&time_editor);
672 /* Test 3: Set ticks to 90060 seconds to test set_ticks */
674 expected_ticks=82860;
676 time_editor = create_and_show_time_editor(showed_window,TRUE,FALSE);
678 hildon_time_editor_set_ticks(time_editor,initial_ticks);
680 ticks = hildon_time_editor_get_ticks(time_editor);
682 fail_if(( expected_ticks!=ticks ),
683 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
684 initial_ticks,expected_ticks,ticks);
686 remove_and_destroy_time_editor(showed_window,&time_editor);
688 /* Test 4: Set ticks to 360000 seconds to test set_ticks */
690 initial_ticks=360000;
691 expected_ticks=359999;
693 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
695 hildon_time_editor_set_ticks(time_editor,initial_ticks);
697 ticks = hildon_time_editor_get_ticks(time_editor);
699 fail_if(( expected_ticks!=ticks ),
700 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
701 initial_ticks,expected_ticks,ticks);
703 remove_and_destroy_time_editor(showed_window,&time_editor);
705 /* Test 5: Set ticks to 654333 seconds to test set_ticks */
707 initial_ticks=654333;
708 expected_ticks=359999;
710 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
712 hildon_time_editor_set_ticks(time_editor,initial_ticks);
714 ticks = hildon_time_editor_get_ticks(time_editor);
716 fail_if(( expected_ticks!=ticks ),
717 "hildon-time-editor: set_ticks or get_ticks failed with %d. Expected result is %d and result is %d",
718 initial_ticks,expected_ticks,ticks);
720 remove_and_destroy_time_editor(showed_window,&time_editor);
722 /* Test 6: Set initial_ticks on NULL */
723 hildon_time_editor_set_ticks(NULL,initial_ticks);
728 /* ----- Test case for set_duration_min_set_duration_max -----*/
731 * Purpose: Check that regular minimum/maximum values are set/get properly and check that set_duration_mode works well,
732 * because min and max can not be set without duration mode set.
734 * - Set and get minimum duration to 100000 having ticks under 100000 using time editor object with duration mode.
735 * - Set and get minimum duration to 100000 having ticks over 100000 using time editor object with duration mode.
736 * - Set and get maximum duration to 200000 having ticks under 200000 using time editor object with duration mode.
737 * - Set and get maximum duration to 200000 having ticks over 200000 using time editor object with duration mode.
739 START_TEST (test_set_duration_min_set_duration_max_regular)
741 guint initial_duration_min;
743 guint initial_duration_max;
745 guint expected_ticks;
747 HildonTimeEditor *time_editor = NULL;
749 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
750 /* Initialize values in order to avoid side effects from previous tests */
751 hildon_time_editor_set_duration_min(time_editor,MIN_DURATION);
752 hildon_time_editor_set_duration_max(time_editor,MAX_DURATION);
756 /* Test 1: Set and get minimum duration to 100000 having ticks under 100000 using time editor object with duration mode. */
757 initial_duration_min=100000;
758 expected_ticks=initial_duration_min;
760 hildon_time_editor_set_ticks(time_editor,initial_duration_min-1000);
761 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
762 duration_min = hildon_time_editor_get_duration_min(time_editor);
763 ticks = hildon_time_editor_get_ticks(time_editor);
765 fail_if(( initial_duration_min!=duration_min) | (ticks!=expected_ticks),
766 "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",
767 initial_duration_min,duration_min,initial_duration_min-1000,expected_ticks,ticks);
769 remove_and_destroy_time_editor(showed_window,&time_editor);
771 /* Test 2: Set and get minimum duration to 100000 having ticks over 100000 using time editor object with duration mode.*/
772 initial_duration_min=100000;
773 expected_ticks=initial_duration_min+980;
775 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
777 hildon_time_editor_set_ticks(time_editor,expected_ticks);
778 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
779 duration_min = hildon_time_editor_get_duration_min(time_editor);
780 ticks = hildon_time_editor_get_ticks(time_editor);
782 fail_if(( initial_duration_min!=duration_min) | (ticks!=expected_ticks),
783 "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",
784 initial_duration_min,duration_min,ticks,expected_ticks);
786 remove_and_destroy_time_editor(showed_window,&time_editor);
790 /* Test 3: Set and get maximum duration to 200000 having ticks under 200000 using time editor object with duration mode. */
791 initial_duration_max=200000;
792 expected_ticks=initial_duration_max-1040;
793 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
795 hildon_time_editor_set_ticks(time_editor,expected_ticks);
796 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
797 duration_max = hildon_time_editor_get_duration_max(time_editor);
798 ticks = hildon_time_editor_get_ticks(time_editor);
800 fail_if(( initial_duration_max!=duration_max) | (ticks!=expected_ticks),
801 "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",
802 initial_duration_max,duration_max,ticks,expected_ticks);
804 remove_and_destroy_time_editor(showed_window,&time_editor);
806 /* Test 4: Set and get maximum duration to 200000 having ticks over 200000 using time editor object with duration mode.*/
807 initial_duration_max=200000;
808 expected_ticks=initial_duration_max+1000;
809 time_editor = create_and_show_time_editor(showed_window,FALSE,TRUE);
811 hildon_time_editor_set_ticks(time_editor,expected_ticks);
812 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
813 duration_max = hildon_time_editor_get_duration_max(time_editor);
814 ticks = hildon_time_editor_get_ticks(time_editor);
816 fail_if(( initial_duration_max!=duration_max) | (ticks!=initial_duration_max),
817 "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",
818 initial_duration_max,duration_max,expected_ticks,initial_duration_max,ticks);
820 remove_and_destroy_time_editor(showed_window,&time_editor);
827 * Purpose: Check that limits duration minimum/maximum values are set and get properly.
829 * - Set and get minimum duration to MIN_DURATION having ticks over MIN_DURATION using time editor object with duration mode.
830 * - Set and get maximum duration to MAX_DURATION having ticks under MAX_DURATION.
831 * using time editor object with duration mode. 359940 seconds are 99:59:00.
832 * - Set and get maximum duration to MIN_DURATION having ticks over MIN_DURATION using time editor object with duration mode.
833 * - Set and get minimum duration to MAX_DURATION having ticks under MAX_DURATION.
834 * using time editor object with duration mode. 359999 seconds are 99:59:59.
836 START_TEST (test_set_duration_min_set_duration_max_limits)
838 guint initial_duration_min;
840 guint initial_duration_max;
842 guint expected_ticks;
844 HildonTimeEditor *time_editor = NULL;
847 /* Test 1: Set minimum duration to MAX_DURATION seconds having ticks under MAX_DURATION. */
848 expected_ticks=MIN_DURATION+1;
849 initial_duration_min=MIN_DURATION;
851 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
853 hildon_time_editor_set_ticks(time_editor,expected_ticks);
854 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
855 duration_min = hildon_time_editor_get_duration_min(time_editor);
856 ticks = hildon_time_editor_get_ticks(time_editor);
858 fail_if(( initial_duration_min!=duration_min) | (ticks!=expected_ticks),
859 "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",
860 initial_duration_min,duration_min,expected_ticks,ticks);
862 remove_and_destroy_time_editor(showed_window,&time_editor);
864 /* Test 2: Set maximum duration to MAX_DURATION seconds having ticks under MAX_DURATION. */
865 expected_ticks=MAX_DURATION-59;
866 initial_duration_max=MAX_DURATION;
868 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
870 hildon_time_editor_set_ticks(time_editor,expected_ticks);
871 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
872 duration_max = hildon_time_editor_get_duration_max(time_editor);
873 ticks = hildon_time_editor_get_ticks(time_editor);
875 fail_if(( initial_duration_max!=duration_max) | (ticks!=expected_ticks),
876 "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",
877 initial_duration_max,duration_max,expected_ticks,ticks);
879 remove_and_destroy_time_editor(showed_window,&time_editor);
881 /* Test 3: Set and get maximum duration to MIN_DURATION having ticks over MIN_DURATION
882 using time editor object with duration mode. */
883 expected_ticks=MIN_DURATION+1;
884 initial_duration_max=MIN_DURATION;
886 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
888 hildon_time_editor_set_ticks(time_editor,expected_ticks);
889 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
890 duration_max = hildon_time_editor_get_duration_max(time_editor);
891 ticks = hildon_time_editor_get_ticks(time_editor);
893 fail_if(( initial_duration_max!=duration_max) | (ticks!=MIN_DURATION),
894 "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",
895 initial_duration_max,duration_max,expected_ticks,ticks);
897 remove_and_destroy_time_editor(showed_window,&time_editor);
899 /* Test 4: Set and get minimum duration to MIN_DURATION having ticks over MIN_DURATION
900 using time editor object with duration mode. */
901 expected_ticks=MAX_DURATION-1;
902 initial_duration_min=MAX_DURATION;
904 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
906 hildon_time_editor_set_ticks(time_editor,expected_ticks);
907 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
908 duration_min = hildon_time_editor_get_duration_min(time_editor);
909 ticks = hildon_time_editor_get_ticks(time_editor);
911 fail_if(( initial_duration_min!=duration_min) | (ticks!=MAX_DURATION),
912 "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",
913 initial_duration_min,duration_min,ticks,MAX_DURATION);
915 remove_and_destroy_time_editor(showed_window,&time_editor);
921 * Purpose: Check that invalid minimum/maximum duration values are set and get properly.
923 * - Set duration_min on NULL object.
924 * - Set and get minimum duration to MAX_DURATION+1 using time editor object with duration mode
925 * setting ticks previously with a value under MAX_DURATION.
926 * - Set and get minimum duration to MAX_DURATION+1 using time editor object with duration mode
927 * setting ticks previously with a value over MAX_DURATION.
928 * - Set duration_max on NULL object.
929 * - Set and get maximum duration to MAX_DURATION+1 using time editor object with duration mode
930 * setting ticks previously with a value under MAX_DURATION.
931 * - Set and get maximum duration to MAX_DURATION+1 using time editor object with duration mode
932 * setting ticks previously with a value over MAX_DURATION.
934 START_TEST (test_set_duration_min_set_duration_max_invalid)
936 guint initial_duration_min;
937 guint expected_duration_min;
939 guint initial_duration_max;
940 guint expected_duration_max;
942 guint expected_ticks;
944 HildonTimeEditor *time_editor = NULL;
947 /* Test 1: Set minimum duration on NULL object */
948 hildon_time_editor_set_duration_min(NULL,MIN_DURATION);
950 /* Test 2: Set minimum duration to MAX_DURATION+1 seconds to test set_duration_min */
951 initial_duration_min=MAX_DURATION+1;
952 expected_duration_min=MAX_DURATION+1;
953 expected_ticks=MAX_DURATION-1;
955 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
957 hildon_time_editor_set_ticks(time_editor,expected_ticks);
958 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
959 duration_min = hildon_time_editor_get_duration_min(time_editor);
960 ticks = hildon_time_editor_get_ticks(time_editor);
962 fail_if(( expected_duration_min!=duration_min) | (ticks!=MAX_DURATION),
963 "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",
964 initial_duration_min,duration_min,expected_duration_min,expected_ticks,MAX_DURATION,ticks);
966 remove_and_destroy_time_editor(showed_window,&time_editor);
968 /* Test 3: Set minimum duration to MAX_DURATION+1 seconds to test set_duration_min */
969 initial_duration_min=MAX_DURATION+1;
970 expected_duration_min=MAX_DURATION+1;
971 expected_ticks=MAX_DURATION+2;
973 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
975 hildon_time_editor_set_ticks(time_editor,expected_ticks);
976 hildon_time_editor_set_duration_min(time_editor,initial_duration_min);
977 duration_min = hildon_time_editor_get_duration_min(time_editor);
978 ticks = hildon_time_editor_get_ticks(time_editor);
980 fail_if(( expected_duration_min!=duration_min) | (ticks!=MAX_DURATION),
981 "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",
982 initial_duration_min,duration_min,expected_duration_min,expected_ticks,MAX_DURATION,ticks);
984 remove_and_destroy_time_editor(showed_window,&time_editor);
986 /* Test 4: Set maximum duration on NULL object */
987 hildon_time_editor_set_duration_max(NULL,MAX_DURATION);
989 /* Test 5: Set maximum duration to MAX_DURATION+1 seconds to test set_duration_max settings ticks under MAX_DURATION*/
990 initial_duration_max=MAX_DURATION+1;
991 expected_duration_max=MAX_DURATION;
992 expected_ticks=MAX_DURATION-59;
994 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
996 hildon_time_editor_set_ticks(time_editor,expected_ticks);
997 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
998 duration_max = hildon_time_editor_get_duration_max(time_editor);
999 ticks = hildon_time_editor_get_ticks(time_editor);
1001 fail_if(( expected_duration_max!=duration_max) | (ticks!=expected_ticks),
1002 "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",
1003 initial_duration_max,duration_max,expected_duration_max,expected_ticks,expected_ticks,ticks);
1005 remove_and_destroy_time_editor(showed_window,&time_editor);
1007 /* Initialize values in order to avoid side effects from previous tests */
1008 initial_duration_max=MAX_DURATION+1;
1009 expected_duration_max=MAX_DURATION;
1010 expected_ticks=MAX_DURATION+1;
1012 /* Test 6: Set maximum duration to MAX_DURATION+1 seconds to test set_duration_max setting ticks over MAX_DURATION */
1013 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1015 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1016 hildon_time_editor_set_duration_max(time_editor,initial_duration_max);
1017 duration_max = hildon_time_editor_get_duration_max(time_editor);
1018 ticks = hildon_time_editor_get_ticks(time_editor);
1019 fail_if(( expected_duration_max!=duration_max),
1020 "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",
1021 initial_duration_max,duration_max,expected_duration_max,expected_ticks,MAX_DURATION,ticks);
1023 /* fail_if(( expected_duration_max!=duration_max) | (ticks!=MAX_DURATION),
1024 "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",
1025 initial_duration_max,duration_max,expected_duration_max,expected_ticks,MAX_DURATION,ticks);
1027 remove_and_destroy_time_editor(showed_window,&time_editor);
1033 /* ----- Test case for set_duration_range -----*/
1036 * Purpose: Check that regular range values are set and get properly
1038 * - Set and get duration range (100000,200000) having ticks under 100000 using time editor object with duration mode.
1039 * - Set and get duration range (100000,200000) having ticks between 100000 and 200000 using time editor object with duration mode.
1040 * - Set and get duration range (100000,200000) having ticks over 200000 using time editor object with duration mode.
1041 * - Set and get duration range (100000,100000) having ticks under 100000 using time editor object with duration mode.
1042 * - Set and get duration range (100000,100000) having ticks equal to 100000 using time editor object with duration mode.
1043 * - Set and get duration range (100000,100000) having ticks over 100000 using time editor object with duration mode.
1046 START_TEST (test_set_duration_range_regular)
1048 guint initial_duration_min;
1049 guint initial_duration_max;
1052 guint expected_ticks;
1054 HildonTimeEditor *time_editor = NULL;
1056 /* Test 1: Set duration range to (100000,200000) seconds to test set_duration_range having ticks under 100000 */
1057 initial_duration_min=100000;
1058 initial_duration_max=200000;
1059 expected_ticks=90000;
1061 /* Initialize values in order to avoid side effects from previous tests */
1062 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1064 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1065 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1066 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1067 ticks = hildon_time_editor_get_ticks(time_editor);
1069 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1070 "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 ",
1071 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1073 remove_and_destroy_time_editor(showed_window,&time_editor);
1075 /* Test 2: Set duration range to (100000,200000) seconds to test set_duration_range having ticks between 100000 and 200000 */
1076 initial_duration_min=100000;
1077 initial_duration_max=200000;
1078 expected_ticks=150000;
1079 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1081 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1082 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1083 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1084 ticks = hildon_time_editor_get_ticks(time_editor);
1086 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1087 "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 ",
1088 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1090 remove_and_destroy_time_editor(showed_window,&time_editor);
1093 /* Test 3: Set duration range to (100000,200000) seconds to test set_duration_range having ticks over 200000*/
1094 initial_duration_min=100000;
1095 initial_duration_max=200000;
1096 expected_ticks=220000;
1098 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1100 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1101 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1102 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1103 ticks = hildon_time_editor_get_ticks(time_editor);
1105 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1106 "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 ",
1107 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1109 remove_and_destroy_time_editor(showed_window,&time_editor);
1111 /* Test 4: Set duration range to (100000,100000) seconds to test set_duration_range having ticks under 100000 */
1112 initial_duration_min=100000;
1113 initial_duration_max=100000;
1114 expected_ticks=90000;
1116 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1118 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1119 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1120 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1121 ticks = hildon_time_editor_get_ticks(time_editor);
1123 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1124 "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 ",
1125 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1127 remove_and_destroy_time_editor(showed_window,&time_editor);
1129 /* Test 5: Set duration range to (100000,100000) seconds to test set_duration_range having ticks equal to 100000 */
1130 initial_duration_min=100000;
1131 initial_duration_max=100000;
1132 expected_ticks=100000;
1134 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1136 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1137 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1138 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1139 ticks = hildon_time_editor_get_ticks(time_editor);
1141 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1142 "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 ",
1143 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1145 remove_and_destroy_time_editor(showed_window,&time_editor);
1147 /* Test 6: Set duration range to (100000,100000) seconds to test set_duration_range having ticks over 100000 */
1148 initial_duration_min=100000;
1149 initial_duration_max=100000;
1150 expected_ticks=120000;
1152 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1154 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1155 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1156 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1157 ticks = hildon_time_editor_get_ticks(time_editor);
1159 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1160 "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 ",
1161 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1163 remove_and_destroy_time_editor(showed_window,&time_editor);
1170 * Purpose: Check that limits range values are set and get properly
1172 * - Set and get duration range to (MIN_DURATION,MAX_DURATION) having ticks between MIN_DURATION and MAX_DURATION
1173 * using time editor object with duration mode.
1174 * - Set and get duration range to (MIN_DURATION,MIN_DURATION) having ticks over MIN_DURATION
1175 * using time editor object with duration mode.
1176 * - Set and get duration range to (MAX_DURATION,MAX_DURATION) having ticks under MAX_DURATION
1177 * using time editor object with duration mode.
1180 START_TEST (test_set_duration_range_limits)
1182 guint initial_duration_min;
1183 guint initial_duration_max;
1186 guint expected_ticks;
1188 HildonTimeEditor *time_editor = NULL;
1191 /* Test 1: Set duration range to (MIN_DURATION,MAX_DURATION) seconds to test set_duration_range having ticks under MIN_DURATION */
1192 initial_duration_min=MIN_DURATION;
1193 initial_duration_max=MAX_DURATION;
1194 expected_ticks=MIN_DURATION+1;
1196 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1198 /* Initialize values in order to avoid side effects from previous tests */
1199 hildon_time_editor_set_duration_min(time_editor,MIN_DURATION);
1200 hildon_time_editor_set_duration_max(time_editor,MAX_DURATION);
1202 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1203 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1204 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1205 ticks = hildon_time_editor_get_ticks(time_editor);
1207 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1208 "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 ",
1209 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1211 remove_and_destroy_time_editor(showed_window,&time_editor);
1214 /* Test 2: Set duration range to (MIN_DURATION,MIN_DURATION) seconds to test set_duration_range having ticks over MIN_DURATION */
1215 initial_duration_min=MIN_DURATION;
1216 initial_duration_max=MIN_DURATION;
1217 expected_ticks=MIN_DURATION+1;
1219 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1221 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1222 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1223 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1224 ticks = hildon_time_editor_get_ticks(time_editor);
1226 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1227 "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 ",
1228 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1230 remove_and_destroy_time_editor(showed_window,&time_editor);
1232 /* Test 3: Set duration range to (MAX_DURATION,MAX_DURATION) seconds to test set_duration_range having ticks under MAX_DURATION */
1233 initial_duration_min=MAX_DURATION;
1234 initial_duration_max=MAX_DURATION;
1235 expected_ticks=MAX_DURATION-1;
1237 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1239 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1240 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1241 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1242 ticks = hildon_time_editor_get_ticks(time_editor);
1244 fail_if( ( (initial_duration_min!=duration_min) | (initial_duration_max!=duration_max) | ( ticks!=initial_duration_min )),
1245 "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 ",
1246 initial_duration_min,initial_duration_max,duration_min,duration_max,ticks,initial_duration_min);
1248 remove_and_destroy_time_editor(showed_window,&time_editor);
1255 * Purpose: Check that invalid range values are set and get properly
1257 * - Set duration_range on NULL object.
1258 * - Set and get duration range to (MAX_DURATION,MIN_DURATION) using time editor object with duration mode.
1259 * - Set and get duration range to (MIN_DURATION,MAX_DURATION+1) having ticks between MIN_DURATION and MAX_DURATION
1260 * using time editor object with duration mode.
1261 * - Set and get duration range to (MAX_DURATION+1,MIN_DURATION) using time editor object with duration mode.
1262 * - Set and get duration range to (MAX_DURATION+1,MAX_DURATION+3)
1263 * using time editor object with duration mode.
1264 * - Set and get duration range to (MAX_DURATION+3,MAX_DURATION+1)
1265 * using time editor object with duration mode.
1268 START_TEST (test_set_duration_range_invalid)
1270 guint initial_duration_min;
1271 guint initial_duration_max;
1274 guint expected_ticks;
1276 HildonTimeEditor *time_editor = NULL;
1279 /* Test 1: Set duration range on NULL */
1280 hildon_time_editor_set_duration_range(NULL,MIN_DURATION,MAX_DURATION);
1282 /* Test 2: Set duration range to (MAX_DURATION,MIN_DURATION) seconds to test set_duration_range */
1283 initial_duration_min=MAX_DURATION;
1284 initial_duration_max=MIN_DURATION;
1285 expected_ticks=MIN_DURATION+1;
1286 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1288 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1289 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1290 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1291 ticks = hildon_time_editor_get_ticks(time_editor);
1293 fail_if( ( (MIN_DURATION!=duration_min) | (MAX_DURATION!=duration_max) | ( ticks!=MIN_DURATION )),
1294 "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 ",
1295 MIN_DURATION,MAX_DURATION,duration_min,duration_max,ticks,MIN_DURATION);
1297 remove_and_destroy_time_editor(showed_window,&time_editor);
1299 /* Test 3: Set duration range to (MIN_DURATION,MAX_DURATION+1) seconds to test set_duration_range */
1300 initial_duration_min=MIN_DURATION;
1301 initial_duration_max=MAX_DURATION+1;
1302 expected_ticks=MAX_DURATION-59;
1303 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1305 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1306 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1307 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1308 ticks = hildon_time_editor_get_ticks(time_editor);
1310 fail_if( ( (MIN_DURATION!=duration_min) | (MAX_DURATION!=duration_max) | ( ticks!=MIN_DURATION )),
1311 "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 ",
1312 MIN_DURATION,MAX_DURATION,duration_min,duration_max,ticks,MIN_DURATION);
1314 remove_and_destroy_time_editor(showed_window,&time_editor);
1317 /* Test 4: Set duration range to (MAX_DURATION+1,MIN_DURATION) seconds to test set_duration_range */
1318 initial_duration_min=MAX_DURATION+1;
1319 initial_duration_max=MIN_DURATION;
1320 expected_ticks=MIN_DURATION-1;
1321 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1323 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1324 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1326 fail_if( ( (MIN_DURATION!=duration_min) | (MAX_DURATION!=duration_max) ),
1327 "hildon-time-editor: set_duration_range or get_duration_range failed with (minimum,maximum) as (%d,%d). Expected range is (%d,%d). ",
1328 MIN_DURATION,MAX_DURATION,duration_min,duration_max);
1330 remove_and_destroy_time_editor(showed_window,&time_editor);
1333 /* Test 5: Set duration range to (MAX_DURATION+1,MIN_DURATION+3) seconds to test set_duration_range */
1334 initial_duration_min=MAX_DURATION+1;
1335 initial_duration_max=MAX_DURATION+3;
1336 expected_ticks=MAX_DURATION+1;
1338 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1340 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1341 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1342 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1343 ticks = hildon_time_editor_get_ticks(time_editor);
1345 /* fail_if( ( (initial_duration_min!=duration_min) | (MAX_DURATION!=duration_max) | ( ticks!=MAX_DURATION )), */
1346 /* "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 ", */
1347 /* initial_duration_min,MAX_DURATION,duration_min,duration_max,ticks,MAX_DURATION); */
1349 fail_if( ( (initial_duration_min!=duration_min) | (MAX_DURATION!=duration_max) ),
1350 "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 ",
1351 initial_duration_min,MAX_DURATION,duration_min,duration_max,ticks,MAX_DURATION);
1353 remove_and_destroy_time_editor(showed_window,&time_editor);
1355 /* Test 6: Set duration range to (MAX_DURATION+3,MIN_DURATION+1) seconds to test set_duration_range */
1356 initial_duration_min=MAX_DURATION+3;
1357 initial_duration_max=MAX_DURATION+1;
1358 expected_ticks=MAX_DURATION+1;
1360 time_editor = create_and_show_time_editor(showed_window,TRUE,TRUE);
1362 hildon_time_editor_set_ticks(time_editor,expected_ticks);
1363 hildon_time_editor_set_duration_range(time_editor,initial_duration_min,initial_duration_max);
1364 hildon_time_editor_get_duration_range(time_editor,&duration_min,&duration_max);
1365 ticks = hildon_time_editor_get_ticks(time_editor);
1367 fail_if( ( (initial_duration_max!=duration_min) | (MAX_DURATION!=duration_max) | ( ticks!=MAX_DURATION )),
1368 "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 ",
1369 initial_duration_max,MAX_DURATION,duration_min,duration_max,ticks,MAX_DURATION);
1371 remove_and_destroy_time_editor(showed_window,&time_editor);
1378 /* ---------- Suite creation ---------- */
1380 Suite *create_hildon_time_editor_suite()
1382 /* Create the suite */
1383 Suite *s = suite_create("HildonTimeEditor");
1385 /* Create test cases */
1386 TCase *tc1 = tcase_create("set_time");
1387 TCase *tc2 = tcase_create("set_ticks");
1388 TCase *tc3 = tcase_create("set_duration_min_set_duration_max");
1389 TCase *tc4 = tcase_create("set_duration_range");
1391 /* Create test case for hildon_time_editor_set_time and add it to the suite */
1392 tcase_add_checked_fixture(tc1, fx_setup_default_time_editor, fx_teardown_default_time_editor);
1393 tcase_add_test(tc1, test_set_time_regular);
1394 tcase_add_test(tc1, test_set_time_limits);
1395 tcase_add_test(tc1, test_set_time_invalid);
1396 suite_add_tcase (s, tc1);
1398 /* Create test case for hildon_time_editor_set_ticks and add it to the suite */
1399 tcase_add_checked_fixture(tc2, fx_setup_default_time_editor, fx_teardown_default_time_editor);
1400 tcase_add_test(tc2, test_set_ticks_regular);
1401 tcase_add_test(tc2, test_set_ticks_limits);
1402 tcase_add_test(tc2, test_set_ticks_invalid);
1403 suite_add_tcase (s, tc2);
1405 /* Create test case for hildon_time_editor_set_duration_max and add it to the suite */
1406 tcase_add_checked_fixture(tc3, fx_setup_default_time_editor, fx_teardown_default_time_editor);
1407 tcase_add_test(tc3, test_set_duration_min_set_duration_max_regular);
1408 tcase_add_test(tc3, test_set_duration_min_set_duration_max_limits);
1409 tcase_add_test(tc3, test_set_duration_min_set_duration_max_invalid);
1410 suite_add_tcase (s, tc3);
1412 /* Create test case for hildon_time_editor_set_duration_range and add it to the suite */
1413 tcase_add_checked_fixture(tc4, fx_setup_default_time_editor, fx_teardown_default_time_editor);
1414 tcase_add_test(tc4, test_set_duration_range_regular);
1415 tcase_add_test(tc4, test_set_duration_range_limits);
1416 tcase_add_test(tc4, test_set_duration_range_invalid);
1417 suite_add_tcase (s, tc4);
1419 /* Return created suite */