Initialize Tizen 2.3
[framework/uifw/elementary.git] / TC / elm_ts / multibuttonentry / utc_UIFW_elm_multibuttonentry_last_item_get_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_last_item_get_func_01(void);
41 static void utc_UIFW_elm_multibuttonentry_last_item_get_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_last_item_get_func_01, POSITIVE_TC_IDX },
50         { utc_UIFW_elm_multibuttonentry_last_item_get_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         tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
73         elm_init(0, NULL);
74         main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
75         elm_win_title_set(main_win, "Elementary Unit Test Suite");
76         evas_object_smart_callback_add(main_win, "delete,request", _win_del, NULL);
77         main_bg = elm_bg_add(main_win);
78         evas_object_size_hint_weight_set(main_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
79         elm_win_resize_object_add(main_win, main_bg);
80         evas_object_show(main_bg);
81
82         // set an initial window size
83         evas_object_resize(main_win, 320, 480);
84         // show the window
85         evas_object_show(main_win);
86 }
87
88 // Start up function for each test purpose
89 static void
90 startup()
91 {
92         tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
93
94         // Elm precondition
95         _elm_precondition();
96
97         // Test precondition
98         test_win = elm_win_add(NULL, "Multi Button Entry", ELM_WIN_BASIC);
99         elm_win_title_set(test_win, "Multi Button Entry");
100         elm_win_autodel_set(test_win, 1);
101
102         test_bg = elm_bg_add(test_win);
103         elm_win_resize_object_add(test_win, test_bg);
104         evas_object_size_hint_weight_set(test_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
105         evas_object_show(test_bg);
106
107         evas_object_resize(test_win, 480, 800);
108         evas_object_show(test_win);
109
110         tet_infoline("[[ TET_MSG ]]:: Completing startup");
111 }
112
113 // Clean up function for each test purpose
114 static void
115 cleanup()
116 {
117         tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
118
119         // Clean up the used resources.
120         if ( NULL != main_win ) {
121                 evas_object_del(main_win);
122                 main_win = NULL;
123         }
124
125         if ( NULL != main_bg ) {
126                 evas_object_del(main_bg);
127                 main_bg = NULL;
128         }
129
130         if ( NULL != test_win ) {
131                 evas_object_del(test_win);
132                 test_win = NULL;
133         }
134
135         if ( NULL != test_bg ) {
136                 evas_object_del(test_bg);
137                 test_bg = NULL;
138         }
139
140         if ( NULL != test_eo ) {
141                 evas_object_del(test_eo);
142                 test_eo = NULL;
143         }
144
145         // clean up and shut down
146         elm_shutdown(); ;
147
148         tet_infoline("[[ TET_MSG ]]:: ========= TC COMPLETE  ========== ");
149 }
150
151 /**
152  * @brief Positive test case of elm_multibuttonentry_last_item_get()
153  */
154 static void utc_UIFW_elm_multibuttonentry_last_item_get_func_01(void)
155 {
156         Elm_Object_Item *added_item1 = NULL, *added_item2 = NULL, *last_item = NULL;
157
158         test_eo = elm_multibuttonentry_add(test_win);
159         added_item1 = elm_multibuttonentry_item_append(test_eo, "item1", NULL);
160         added_item2 = elm_multibuttonentry_item_append(test_eo, "item2", NULL);
161         last_item = elm_multibuttonentry_last_item_get(test_eo);
162         if (last_item != added_item2) {
163                 tet_infoline("elm_multibuttonentry_last_item_get() failed in positive test case");
164                 tet_result(TET_FAIL);
165                 return;
166         }
167         tet_result(TET_PASS);
168         tet_infoline("[[ TET_MSG ]]::[ID]:TC_01, [TYPE]: Positive, [RESULT]:PASS, elm_multibuttonentry_last_item_get().");
169 }
170
171 /**
172  * @brief Negative test case of ug_init elm_multibuttonentry_last_item_get()
173  */
174 static void utc_UIFW_elm_multibuttonentry_last_item_get_func_02(void)
175 {
176         Elm_Object_Item *added_item1 = NULL, *added_item2 = NULL, *last_item = NULL;
177
178         test_eo = elm_multibuttonentry_add(test_win);
179         added_item1 = elm_multibuttonentry_item_append(test_eo, "item1", NULL);
180         added_item2 = elm_multibuttonentry_item_append(test_eo, "item2", NULL);
181         last_item = elm_multibuttonentry_last_item_get(test_win);
182         TET_CHECK_FAIL(NULL, last_item);
183
184         tet_result(TET_PASS);
185         tet_infoline("[[ TET_MSG ]]::[ID]:TC_02, [TYPE]: Negative, [RESULT]:PASS, elm_multibuttonentry_last_item_get().");
186 }