--- /dev/null
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "test.h"
+#if TEST_MODE
+
+#include "feature_test.h"
+#include "moments/moments.h"
+#include "moments/moments_view.h"
+#include "common_conf.h"
+#include "moments/moments_view_conf.h"
+#include "moments/moments_view_edje_conf.h"
+#include "home_app_manager.h"
+#include "../test_function.h"
+
+static struct {
+ unit_group_t * group;
+} s_info = {
+ .group = NULL,
+};
+
+extern const char *center_layout_group_name[MOMENTS_CONNECTION_STATUS_MAX];
+
+static void __group_set_up(void)
+{
+ if (moments_get_visible() == false) {
+ main_s * info = main_get_info();
+
+ __t__layout_mouse_down(info->layout, 180, 50);
+ __t__layout_mouse_move(info->layout, 180, 300);
+ __t__layout_mouse_up(info->layout, 180, 300);
+
+ TEST_GROUP_SET_UP_DONE(0.6, s_info.group);
+ }
+
+ __t__pull_down_complete_cb();
+ TEST_GROUP_SET_UP_DONE(0.05, s_info.group);
+}
+
+static void __group_tear_down(void)
+{
+ __t__set_connection_status(MOMENTS_CONNECTION_STATUS_STANDALONE);
+
+ moments_view_update();
+
+ if (moments_get_visible()) {
+ moments_hide();
+
+ TEST_GROUP_TEAR_DOWN_DONE(0.6, s_info.group);
+ }
+
+ TEST_GROUP_TEAR_DOWN_DONE(0.0, s_info.group);
+}
+
+static void __set_up(void)
+{
+ s_info.group->set_up_complete(s_info.group);
+}
+
+static void __tear_down(void)
+{
+ s_info.group->tear_down_complete(s_info.group);
+}
+
+static unit_case_func_t __continue_check_center_layout(void * data);
+static unit_case_func_t __case_check_center_layout(void *data)
+{
+ int connection_status = (int)data;
+ __t__set_connection_status((int)connection_status);
+
+ moments_view_update();
+
+ TEST_CASE_CONTINUE(0.6, __continue_check_center_layout, data);
+}
+
+static unit_case_func_t __continue_check_center_layout(void * data)
+{
+ Evas_Object * center_layout = __t__get_moments_center_layout();
+ TEST_ASSERT_TRUE(center_layout != NULL);
+ TEST_ASSERT_TRUE(evas_object_visible_get(center_layout));
+
+ const char *group = NULL;
+ elm_layout_file_get(center_layout, NULL, &group);
+
+ int connection_status = (int)data;
+ TEST_ASSERT_EQUAL_STRING(center_layout_group_name[connection_status], group);
+
+ Evas_Object * size_setter = __t__get_moments_size_setter();
+ TEST_ASSERT_TRUE(size_setter != NULL);
+ TEST_ASSERT_TRUE(evas_object_visible_get(size_setter));
+
+ int x = 0, y = 0, w = 0, h = 0;
+ evas_object_geometry_get(size_setter, &x, &y, &w, &h);
+
+ TEST_ASSERT_EQUAL_INT(0, x);
+ TEST_ASSERT_EQUAL_INT(0, y);
+ TEST_ASSERT_EQUAL_INT(WINDOW_W, w);
+ TEST_ASSERT_EQUAL_INT(WINDOW_W, h);
+
+ evas_object_geometry_get(center_layout, &x, &y, &w, &h);
+
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_W, w);;
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_H, h);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_X, x);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_Y, y);
+
+ Evas_Object * eo = elm_layout_edje_get(center_layout);
+
+ Evas_Object * icon = (Evas_Object *)edje_object_part_object_get(eo, CENTER_STATUS_ICON);
+ TEST_ASSERT_TRUE(icon != NULL);
+ TEST_ASSERT_TRUE(evas_object_visible_get(icon));
+
+ evas_object_geometry_get(icon, &x, &y, &w, &h);
+
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_STATUS_ICON_W, w);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_STATUS_ICON_H, h);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_STATUS_ICON_X, x);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_STATUS_ICON_Y, y);
+
+ Evas_Object * status_text = (Evas_Object *)edje_object_part_object_get(eo, CENTER_STATUS_TEXT);
+ TEST_ASSERT_TRUE(status_text != NULL);
+ TEST_ASSERT_TRUE(evas_object_visible_get(status_text));
+
+ evas_object_geometry_get(status_text, &x, &y, &w, &h);
+
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_STATUS_TEXT_W, w);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_STATUS_TEXT_H, h);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_STATUS_TEXT_X, x);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_STATUS_TEXT_Y, y);
+
+ Evas_Object * plmn_text = (Evas_Object *)edje_object_part_object_get(eo, CENTER_PLMN_TEXT);
+ TEST_ASSERT_TRUE(plmn_text != NULL);
+ TEST_ASSERT_TRUE(evas_object_visible_get(plmn_text));
+
+ evas_object_geometry_get(plmn_text, &x, &y, &w, &h);
+
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_PLMN_TEXT_W, w);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_PLMN_TEXT_H, h);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_PLMN_TEXT_X, x);
+ TEST_ASSERT_EQUAL_INT(MOMENTS_CENTER_PLMN_TEXT_Y, y);
+
+ TEST_CASE_DONE(s_info.group);
+}
+
+void group_feature_moments_center_layout_show(unit_group_t * group)
+{
+ s_info.group = group;
+ s_info.group->set_up = __set_up;
+ s_info.group->tear_down = __tear_down;
+
+ TEST_GROUP_SET_UP(s_info.group, __group_set_up);
+ TEST_CASE_ADD(s_info.group, __case_check_center_layout, (void*)MOMENTS_CONNECTION_STATUS_STANDALONE);
+ TEST_CASE_ADD(s_info.group, __case_check_center_layout, (void*)MOMENTS_CONNECTION_STATUS_CONNECTED_BLUETOOTH);
+ TEST_CASE_ADD(s_info.group, __case_check_center_layout, (void*)MOMENTS_CONNECTION_STATUS_CONNECTED_REMOTELY);
+
+ TEST_GROUP_TEAR_DOWN(s_info.group, __group_tear_down);
+
+ TEST_GROUP_RUN(s_info.group);
+}
+
+
+#endif
+