Initialize Tizen 2.3
[framework/uifw/elementary.git] / wearable / TC / elm_ts / multibuttonentry / utc_UIFW_elm_multibuttonentry_item_append_func.c
1 #include <tet_api.h>
2 #include <Elementary.h>
3
4 // Definitions
5 // For checking the result of the positive test case.
6 #define TET_CHECK_PASS(x1, y...) \
7 { \
8         Elm_Object_Item *err = y; \
9         Elm_Object_Item *val = x1; \
10         if (err == val) \
11                 { \
12                         tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
13                         tet_result(TET_FAIL); \
14                         return; \
15                 } \
16 }
17
18 // For checking the result of the negative test case.
19 #define TET_CHECK_FAIL(x1, y...) \
20 { \
21         Elm_Object_Item *err = y; \
22         Elm_Object_Item *val = x1; \
23         if (err != val) \
24                 { \
25                         tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
26                         tet_result(TET_FAIL); \
27                         return; \
28                 } \
29 }
30
31
32 Evas_Object *main_win;
33
34 static void startup(void);
35 static void cleanup(void);
36
37 void (*tet_startup)(void) = startup;
38 void (*tet_cleanup)(void) = cleanup;
39
40 static void utc_UIFW_elm_multibuttonentry_item_append_func_01(void);
41 static void utc_UIFW_elm_multibuttonentry_item_append_func_02(void);
42
43 enum {
44         POSITIVE_TC_IDX = 0x01,
45         NEGATIVE_TC_IDX,
46 };
47
48 struct tet_testlist tet_testlist[] = {
49         { utc_UIFW_elm_multibuttonentry_item_append_func_01, POSITIVE_TC_IDX },
50         { utc_UIFW_elm_multibuttonentry_item_append_func_02, NEGATIVE_TC_IDX },
51         { NULL, 0 }
52 };
53
54 // Declare the global variables
55 Evas_Object *main_win, *main_bg;
56 Evas_Object *test_win, *test_bg;
57 Evas_Object *test_eo = NULL;
58 // Declare internal functions
59 void _elm_precondition(void);
60 static void _win_del(void *data, Evas_Object *obj, void *event_info);
61
62
63 // Delete main window
64 static void _win_del(void *data, Evas_Object *obj, void *event_info)
65 {
66         elm_exit();
67 }
68
69 // Do precondition.
70 void _elm_precondition(void)
71 {
72         elm_init(0, NULL);
73         main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
74         elm_win_title_set(main_win, "Elementary Unit Test Suite");
75         evas_object_smart_callback_add(main_win, "delete,request", _win_del, NULL);
76         main_bg = elm_bg_add(main_win);
77         evas_object_size_hint_weight_set(main_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
78         elm_win_resize_object_add(main_win, main_bg);
79         evas_object_show(main_bg);
80
81         // set an initial window size
82         evas_object_resize(main_win, 320, 480);
83         // show the window
84         evas_object_show(main_win);
85
86         //elm_run();
87 }
88
89 // Start up function for each test purpose
90 static void
91 startup()
92 {
93         tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
94
95         // Elm precondition
96         _elm_precondition();
97
98         // Test precondition
99         test_win = elm_win_add(NULL, "Multi Button Entry", ELM_WIN_BASIC);
100         elm_win_title_set(test_win, "Multi Button Entry");
101         elm_win_autodel_set(test_win, 1);
102
103         test_bg = elm_bg_add(test_win);
104         elm_win_resize_object_add(test_win, test_bg);
105         evas_object_size_hint_weight_set(test_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
106         evas_object_show(test_bg);
107
108         evas_object_resize(test_win, 480, 800);
109         evas_object_show(test_win);
110
111         tet_infoline("[[ TET_MSG ]]:: Completing startup");
112 }
113
114 // Clean up function for each test purpose
115 static void
116 cleanup()
117 {
118         tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
119
120         // Clean up the used resources.
121         if ( NULL != main_win ) {
122                 evas_object_del(main_win);
123                 main_win = NULL;
124         }
125
126         if ( NULL != main_bg ) {
127                 evas_object_del(main_bg);
128                 main_bg = NULL;
129         }
130
131         if ( NULL != test_win ) {
132                 evas_object_del(test_win);
133                 test_win = NULL;
134         }
135
136         if ( NULL != test_bg ) {
137                 evas_object_del(test_bg);
138                 test_bg = NULL;
139         }
140
141         if ( NULL != test_eo ) {
142                 evas_object_del(test_eo);
143                 test_eo = NULL;
144         }
145
146         // clean up and shut down
147         elm_shutdown(); ;
148
149         tet_infoline("[[ TET_MSG ]]:: ========= TC COMPLETE  ========== ");
150 }
151
152 /**
153  * @brief Positive test case of elm_multibuttonentry_item_append()
154  */
155 static void utc_UIFW_elm_multibuttonentry_item_append_func_01(void)
156 {
157         Elm_Object_Item *added_item = NULL, *last_item = NULL;
158
159         test_eo = elm_multibuttonentry_add(test_win);
160         added_item = elm_multibuttonentry_item_append(test_eo, "item1", NULL);
161         TET_CHECK_PASS(NULL, added_item);
162
163         last_item = elm_multibuttonentry_last_item_get(test_eo);
164         if (added_item != last_item) {
165                 tet_infoline("elm_multibuttonentry_item_append() failed in positive test case");
166                 tet_result(TET_FAIL);
167                 return;
168         }
169         tet_result(TET_PASS);
170         tet_infoline("[[ TET_MSG ]]::[ID]:TC_01, [TYPE]: Positive, [RESULT]:PASS, elm_multibuttonentry_item_append().");
171 }
172
173 /**
174  * @brief Negative test case of ug_init elm_multibuttonentry_item_append()
175  */
176 static void utc_UIFW_elm_multibuttonentry_item_append_func_02(void)
177 {
178
179         Elm_Object_Item *added_item = NULL;
180
181         test_eo = elm_multibuttonentry_add(test_win);
182         added_item = elm_multibuttonentry_item_append(test_eo, NULL, NULL);
183         TET_CHECK_FAIL(NULL, added_item);
184
185         tet_result(TET_PASS);
186         tet_infoline("[[ TET_MSG ]]::[ID]:TC_02, [TYPE]: Negative, [RESULT]:PASS, elm_multibuttonentry_item_append().");
187 }