[UTC][capi-media-camera][ACR-708][Add new UTC functions for new APIs]
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Aug 2016 05:50:01 +0000 (14:50 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Tue, 9 Aug 2016 05:50:01 +0000 (14:50 +0900)
Change-Id: I97a23cb21164628d481d2cf0ef25ef04a1915eb4
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
12 files changed:
packaging/utc/core-camera-tests.spec [changed mode: 0755->0644]
packaging/utc/core-camera-tests.xml [changed mode: 0755->0644]
src/utc/camera/CMakeLists.txt [changed mode: 0755->0644]
src/utc/camera/public.list [changed mode: 0755->0644]
src/utc/camera/tct-camera-core.c [changed mode: 0755->0644]
src/utc/camera/tct-camera-core_common_iot.h [changed mode: 0755->0644]
src/utc/camera/tct-camera-core_mobile.h [changed mode: 0755->0644]
src/utc/camera/tct-camera-core_tv.h [changed mode: 0755->0644]
src/utc/camera/tct-camera-core_wearable.h [changed mode: 0755->0644]
src/utc/camera/utc_media_camera_attr.c [changed mode: 0755->0644]
src/utc/camera/utc_media_camera_lifecycle.c [changed mode: 0755->0644]
src/utc/camera/utc_media_camera_setting.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 5c29e04..f9b289c
@@ -14,6 +14,7 @@ BuildRequires:        pkgconfig(gobject-2.0)
 BuildRequires: cmake
 BuildRequires: pkgconfig(capi-appfw-application)
 BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(evas)
 BuildRequires: pkgconfig(elementary)
 BuildRequires: pkgconfig(capi-system-info)
 %description
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 950d2b3..62bba50
@@ -12,13 +12,15 @@ SET(TC_SOURCES
 
 PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
     ${CAPI_LIB}
-       capi-appfw-application
-       capi-system-info
+    capi-appfw-application
+    capi-system-info
     glib-2.0
     gthread-2.0
     gobject-2.0
-    dlog elementary
-    )
+    dlog
+    evas
+    elementary
+)
 
 INCLUDE_DIRECTORIES(
     ${${CAPI_LIB}_INCLUDE_DIRS}
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index d271cde..93e6182
@@ -393,6 +393,16 @@ extern int utc_media_camera_attr_set_display_roi_area_n(void);
 extern int utc_media_camera_attr_get_display_roi_area_p(void);
 extern int utc_media_camera_attr_get_display_roi_area_n1(void);
 extern int utc_media_camera_attr_get_display_roi_area_n2(void);
+extern int utc_media_camera_change_device_p(void);
+extern int utc_media_camera_change_device_n1(void);
+extern int utc_media_camera_change_device_n2(void);
+extern int utc_media_camera_change_device_n3(void);
+extern int utc_media_camera_set_display_reuse_hint_p(void);
+extern int utc_media_camera_set_display_reuse_hint_n1(void);
+extern int utc_media_camera_set_display_reuse_hint_n2(void);
+extern int utc_media_camera_get_display_reuse_hint_p(void);
+extern int utc_media_camera_get_display_reuse_hint_n1(void);
+extern int utc_media_camera_get_display_reuse_hint_n2(void);
 
 testcase tc_array[] = {
        {"utc_media_camera_attr_set_preview_fps_n1", utc_media_camera_attr_set_preview_fps_n1, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
@@ -761,6 +771,16 @@ testcase tc_array[] = {
        {"utc_media_camera_attr_get_display_roi_area_p", utc_media_camera_attr_get_display_roi_area_p, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
        {"utc_media_camera_attr_get_display_roi_area_n1", utc_media_camera_attr_get_display_roi_area_n1, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
        {"utc_media_camera_attr_get_display_roi_area_n2", utc_media_camera_attr_get_display_roi_area_n2, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
+       {"utc_media_camera_change_device_p", utc_media_camera_change_device_p, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n1", utc_media_camera_change_device_n1, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n2", utc_media_camera_change_device_n2, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n3", utc_media_camera_change_device_n3, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_p", utc_media_camera_set_display_reuse_hint_p, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_n1", utc_media_camera_set_display_reuse_hint_n1, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_n2", utc_media_camera_set_display_reuse_hint_n2, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_p", utc_media_camera_get_display_reuse_hint_p, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_n1", utc_media_camera_get_display_reuse_hint_n1, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_n2", utc_media_camera_get_display_reuse_hint_n2, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
        {NULL, NULL}
 };
 
old mode 100755 (executable)
new mode 100644 (file)
index d271cde..93e6182
@@ -393,6 +393,16 @@ extern int utc_media_camera_attr_set_display_roi_area_n(void);
 extern int utc_media_camera_attr_get_display_roi_area_p(void);
 extern int utc_media_camera_attr_get_display_roi_area_n1(void);
 extern int utc_media_camera_attr_get_display_roi_area_n2(void);
+extern int utc_media_camera_change_device_p(void);
+extern int utc_media_camera_change_device_n1(void);
+extern int utc_media_camera_change_device_n2(void);
+extern int utc_media_camera_change_device_n3(void);
+extern int utc_media_camera_set_display_reuse_hint_p(void);
+extern int utc_media_camera_set_display_reuse_hint_n1(void);
+extern int utc_media_camera_set_display_reuse_hint_n2(void);
+extern int utc_media_camera_get_display_reuse_hint_p(void);
+extern int utc_media_camera_get_display_reuse_hint_n1(void);
+extern int utc_media_camera_get_display_reuse_hint_n2(void);
 
 testcase tc_array[] = {
        {"utc_media_camera_attr_set_preview_fps_n1", utc_media_camera_attr_set_preview_fps_n1, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
@@ -761,6 +771,16 @@ testcase tc_array[] = {
        {"utc_media_camera_attr_get_display_roi_area_p", utc_media_camera_attr_get_display_roi_area_p, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
        {"utc_media_camera_attr_get_display_roi_area_n1", utc_media_camera_attr_get_display_roi_area_n1, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
        {"utc_media_camera_attr_get_display_roi_area_n2", utc_media_camera_attr_get_display_roi_area_n2, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
+       {"utc_media_camera_change_device_p", utc_media_camera_change_device_p, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n1", utc_media_camera_change_device_n1, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n2", utc_media_camera_change_device_n2, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n3", utc_media_camera_change_device_n3, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_p", utc_media_camera_set_display_reuse_hint_p, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_n1", utc_media_camera_set_display_reuse_hint_n1, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_n2", utc_media_camera_set_display_reuse_hint_n2, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_p", utc_media_camera_get_display_reuse_hint_p, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_n1", utc_media_camera_get_display_reuse_hint_n1, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_n2", utc_media_camera_get_display_reuse_hint_n2, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
        {NULL, NULL}
 };
 
old mode 100755 (executable)
new mode 100644 (file)
index d271cde..93e6182
@@ -393,6 +393,16 @@ extern int utc_media_camera_attr_set_display_roi_area_n(void);
 extern int utc_media_camera_attr_get_display_roi_area_p(void);
 extern int utc_media_camera_attr_get_display_roi_area_n1(void);
 extern int utc_media_camera_attr_get_display_roi_area_n2(void);
+extern int utc_media_camera_change_device_p(void);
+extern int utc_media_camera_change_device_n1(void);
+extern int utc_media_camera_change_device_n2(void);
+extern int utc_media_camera_change_device_n3(void);
+extern int utc_media_camera_set_display_reuse_hint_p(void);
+extern int utc_media_camera_set_display_reuse_hint_n1(void);
+extern int utc_media_camera_set_display_reuse_hint_n2(void);
+extern int utc_media_camera_get_display_reuse_hint_p(void);
+extern int utc_media_camera_get_display_reuse_hint_n1(void);
+extern int utc_media_camera_get_display_reuse_hint_n2(void);
 
 testcase tc_array[] = {
        {"utc_media_camera_attr_set_preview_fps_n1", utc_media_camera_attr_set_preview_fps_n1, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
@@ -761,6 +771,16 @@ testcase tc_array[] = {
        {"utc_media_camera_attr_get_display_roi_area_p", utc_media_camera_attr_get_display_roi_area_p, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
        {"utc_media_camera_attr_get_display_roi_area_n1", utc_media_camera_attr_get_display_roi_area_n1, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
        {"utc_media_camera_attr_get_display_roi_area_n2", utc_media_camera_attr_get_display_roi_area_n2, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
+       {"utc_media_camera_change_device_p", utc_media_camera_change_device_p, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n1", utc_media_camera_change_device_n1, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n2", utc_media_camera_change_device_n2, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n3", utc_media_camera_change_device_n3, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_p", utc_media_camera_set_display_reuse_hint_p, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_n1", utc_media_camera_set_display_reuse_hint_n1, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_n2", utc_media_camera_set_display_reuse_hint_n2, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_p", utc_media_camera_get_display_reuse_hint_p, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_n1", utc_media_camera_get_display_reuse_hint_n1, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_n2", utc_media_camera_get_display_reuse_hint_n2, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
        {NULL, NULL}
 };
 
old mode 100755 (executable)
new mode 100644 (file)
index d271cde..93e6182
@@ -393,6 +393,16 @@ extern int utc_media_camera_attr_set_display_roi_area_n(void);
 extern int utc_media_camera_attr_get_display_roi_area_p(void);
 extern int utc_media_camera_attr_get_display_roi_area_n1(void);
 extern int utc_media_camera_attr_get_display_roi_area_n2(void);
+extern int utc_media_camera_change_device_p(void);
+extern int utc_media_camera_change_device_n1(void);
+extern int utc_media_camera_change_device_n2(void);
+extern int utc_media_camera_change_device_n3(void);
+extern int utc_media_camera_set_display_reuse_hint_p(void);
+extern int utc_media_camera_set_display_reuse_hint_n1(void);
+extern int utc_media_camera_set_display_reuse_hint_n2(void);
+extern int utc_media_camera_get_display_reuse_hint_p(void);
+extern int utc_media_camera_get_display_reuse_hint_n1(void);
+extern int utc_media_camera_get_display_reuse_hint_n2(void);
 
 testcase tc_array[] = {
        {"utc_media_camera_attr_set_preview_fps_n1", utc_media_camera_attr_set_preview_fps_n1, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
@@ -761,6 +771,16 @@ testcase tc_array[] = {
        {"utc_media_camera_attr_get_display_roi_area_p", utc_media_camera_attr_get_display_roi_area_p, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
        {"utc_media_camera_attr_get_display_roi_area_n1", utc_media_camera_attr_get_display_roi_area_n1, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
        {"utc_media_camera_attr_get_display_roi_area_n2", utc_media_camera_attr_get_display_roi_area_n2, utc_media_camera_attr_startup, utc_media_camera_attr_cleanup},
+       {"utc_media_camera_change_device_p", utc_media_camera_change_device_p, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n1", utc_media_camera_change_device_n1, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n2", utc_media_camera_change_device_n2, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_change_device_n3", utc_media_camera_change_device_n3, utc_media_camera_lifecycle_startup, utc_media_camera_lifecycle_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_p", utc_media_camera_set_display_reuse_hint_p, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_n1", utc_media_camera_set_display_reuse_hint_n1, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_set_display_reuse_hint_n2", utc_media_camera_set_display_reuse_hint_n2, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_p", utc_media_camera_get_display_reuse_hint_p, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_n1", utc_media_camera_get_display_reuse_hint_n1, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
+       {"utc_media_camera_get_display_reuse_hint_n2", utc_media_camera_get_display_reuse_hint_n2, utc_media_camera_setting_startup, utc_media_camera_setting_cleanup},
        {NULL, NULL}
 };
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index edf730d..ec9efbf
@@ -1288,3 +1288,143 @@ int utc_media_camera_stop_face_detection_n(void)
 
        return 0;
 }
+
+
+/**
+ * @testcase            utc_media_camera_change_device_p
+ * @since_tizen         3.0
+ * @description         To check camera device change with valid parameters.
+ * @scenario            This test is for checking to change camera device.
+                        1. Check camera device which is supported or not. \n
+                        2. Change camera device
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is success. \n
+                        The "ret" value should be success.
+ */
+int utc_media_camera_change_device_p(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+       int device_count = 0;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       ret = camera_get_device_count(camera, &device_count);
+
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_change_device(camera, CAMERA_DEVICE_CAMERA1);
+
+       if (device_count < 2) {
+               assert_eq(ret, CAMERA_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(ret, CAMERA_ERROR_NONE);
+       }
+
+       return 0;
+}
+
+
+/**
+ * @testcase            utc_media_camera_change_device_n1
+ * @since_tizen         3.0
+ * @description         To check camera device change with invalid parameter.
+ * @scenario            This test is for checking to change camera device.
+                        1. Check camera device which is supported or not. \n
+                        2. Change camera device with invalid parameter.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is success. \n
+                        The "ret" value should be error because the camera handle is null.
+ */
+int utc_media_camera_change_device_n1(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       ret = camera_change_device(NULL, CAMERA_DEVICE_CAMERA1);
+
+       assert_eq(ret, CAMERA_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+
+/**
+ * @testcase            utc_media_camera_change_device_n2
+ * @since_tizen         3.0
+ * @description         To check camera device change with invalid parameter.
+ * @scenario            This test is for checking to change camera device.
+                        1. Check camera device which is supported or not. \n
+                        2. Change camera device with invalid parameter.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is success. \n
+                        The "ret" value should be error because the device type is invalid.
+ */
+int utc_media_camera_change_device_n2(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       ret = camera_change_device(camera, -1);
+
+       assert_eq(ret, CAMERA_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+
+/**
+ * @testcase            utc_media_camera_change_device_n3
+ * @since_tizen         3.0
+ * @description         To check camera to change device at invalid state.
+ * @scenario            This test is for checking to change camera device.
+                        1. Check camera device which is supported or not. \n
+                        2. Start preview. \n
+                        3. Change camera device.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is success. \n
+                        The "ret" value should be error because the camera state is not #CAMERA_STATE_CREATED.
+ */
+int utc_media_camera_change_device_n3(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       ret = camera_start_preview(camera);
+
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_change_device(camera, CAMERA_DEVICE_CAMERA1);
+
+       camera_stop_preview(camera);
+
+       assert_eq(ret, CAMERA_ERROR_INVALID_STATE);
+
+       return 0;
+}
old mode 100755 (executable)
new mode 100644 (file)
index 47500a1..12e9ba6
@@ -19,6 +19,9 @@
 #include <glib.h>
 #include <pthread.h>
 #include <system_info.h>
+#include <Elementary.h>
+#include <Evas.h>
+#include "tct_common.h"
 #include "assert.h"
 
 
@@ -28,6 +31,46 @@ static camera_h camera = NULL;
 static bool camera_supported = false;
 static bool front_flash_supported = false;
 static bool back_flash_supported = false;
+static Evas_Object *camera_win = NULL;
+
+
+static void _camera_window_delete(void *data, Evas_Object *obj, void *event)
+{
+       return;
+}
+
+static void _camera_window_destroy()
+{
+       if (camera_win) {
+               evas_object_del(camera_win);
+               camera_win = NULL;
+       }
+
+       return;
+}
+
+static void _camera_window_create()
+{
+       int w = 0;
+       int h = 0;
+
+       _camera_window_destroy();   /* destroy window in case the clean_up is not called */
+
+       camera_win = elm_win_util_standard_add("camera_utc", "camera_utc");
+
+       if (camera_win) {
+               elm_win_borderless_set(camera_win, EINA_TRUE);
+               evas_object_smart_callback_add(camera_win, "delete,request", _camera_window_delete, NULL);
+               elm_win_screen_size_get(camera_win, NULL, NULL, &w, &h);
+               evas_object_resize(camera_win, w, h);
+               elm_win_autodel_set(camera_win, EINA_TRUE);
+       } else {
+               PRINT_UTC_LOG("\n\nfail to create window\n\n");
+       }
+
+       return;
+}
+
 
 /**
  * @function            utc_media_camera_setting_startup
@@ -3263,3 +3306,235 @@ int utc_media_camera_get_flash_state_n2(void)
 
        return 0;
 }
+
+
+/**
+ * @testcase            utc_media_camera_set_display_reuse_hint_p
+ * @since_tizen         3.0
+ * @description         To check display reuse hint with valid pointer and value in parameters.
+ * @scenario            This test is for checking display reuse hint setting with valid parameters.
+                        1. Check camera device which is supported or not. \n
+                        2. Start preview. \n
+                        3. Set valid parameters for setting display reuse hint.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is the success. \n
+                        The "ret" value should be success.
+ */
+int utc_media_camera_set_display_reuse_hint_p(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       _camera_window_create();
+
+       ret = camera_set_display(camera, CAMERA_DISPLAY_TYPE_OVERLAY, GET_DISPLAY(camera_win));
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_start_preview(camera);
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_set_display_reuse_hint(camera, true);
+
+       camera_stop_preview(camera);
+
+       _camera_window_destroy();
+
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       return 0;
+}
+
+
+/**
+ * @testcase            utc_media_camera_set_display_reuse_hint_n1
+ * @since_tizen         3.0
+ * @description         To check display reuse hint with camera handle "null".
+ * @scenario            This test is for checking invalid pointer such as camera handle "null". \n
+                        1. Check camera device which is supported or not. \n
+                        2. Start preview. \n
+                        3. Set invalid pointer which is camera handle null.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is the success. \n
+                        The "ret" value should be error because the camera handle is null.
+ */
+int utc_media_camera_set_display_reuse_hint_n1(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       ret = camera_start_preview(camera);
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_set_display_reuse_hint(NULL, true);
+
+       camera_stop_preview(camera);
+
+       assert_eq(ret, CAMERA_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+
+/**
+ * @testcase            utc_media_camera_set_display_reuse_hint_n2
+ * @since_tizen         3.0
+ * @description         To check display reuse hint at invalid state.
+ * @scenario            This test is for checking invalid state. \n
+                        1. Check camera device which is supported or not. \n
+                        2. Set valid parameters for setting display reuse hint.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is the success. \n
+                        The "ret" value should be error because the camera state is not #CAMERA_STATE_PREVIEW.
+ */
+int utc_media_camera_set_display_reuse_hint_n2(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       ret = camera_set_display_reuse_hint(camera, true);
+
+       assert_eq(ret, CAMERA_ERROR_INVALID_STATE);
+
+       return 0;
+}
+
+
+/**
+ * @testcase            utc_media_camera_get_display_reuse_hint_p
+ * @since_tizen         3.0
+ * @description         To check display reuse hint with valid value in parameters.
+ * @scenario            This test is for checking display reuse hint setting with valid parameters.
+                        1. Check camera device which is supported or not. \n
+                        2. Start preview. \n
+                        3. Set valid parameters for getting display reuse hint.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is the success. \n
+                        The "ret" value should be success.
+ */
+int utc_media_camera_get_display_reuse_hint_p(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+       bool reuse_hint = false;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       _camera_window_create();
+
+       ret = camera_set_display(camera, CAMERA_DISPLAY_TYPE_OVERLAY, GET_DISPLAY(camera_win));
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_start_preview(camera);
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_get_display_reuse_hint(camera, &reuse_hint);
+
+       camera_stop_preview(camera);
+
+       _camera_window_destroy();
+
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       return 0;
+}
+
+
+/**
+ * @testcase            utc_media_camera_get_display_reuse_hint_n1
+ * @since_tizen         3.0
+ * @description         To check display reuse hint with camera handle "null".
+ * @scenario            This test is for checking invalid pointer such as camera handle "null". \n
+                        1. Check camera device which is supported or not. \n
+                        2. Start preview. \n
+                        3. Set invalid pointer which is camera handle null.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is the success. \n
+                        The "ret" value should be error because the camera handle is null.
+ */
+int utc_media_camera_get_display_reuse_hint_n1(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+       bool reuse_hint = false;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       ret = camera_start_preview(camera);
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_get_display_reuse_hint(NULL, &reuse_hint);
+
+       camera_stop_preview(camera);
+
+       assert_eq(ret, CAMERA_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+
+/**
+ * @testcase            utc_media_camera_get_display_reuse_hint_n2
+ * @since_tizen         3.0
+ * @description         To check display reuse hint with invalid pointers in parameters.
+ * @scenario            This test is for checking invalid null pointer in parameters.
+                        1. Check camera device which is supported or not. \n
+                        2. Start preview. \n
+                        3. Set invalid pointer in second parameter which is null pointer for getting value.
+ * @parameter           N/A
+ * @return              1 is the fail. You need to check log in tct tool. \n
+                        0 is the success. \n
+                        The "ret" value should be error because the second parameter is null.
+ */
+int utc_media_camera_get_display_reuse_hint_n2(void)
+{
+       int ret = CAMERA_ERROR_NONE;
+
+       if (!camera_supported) {
+               assert_eq(g_startup_err, CAMERA_ERROR_NOT_SUPPORTED);
+               return 0;
+       }
+
+       assert_eq(g_startup_err, CAMERA_ERROR_NONE);
+
+       ret = camera_start_preview(camera);
+       assert_eq(ret, CAMERA_ERROR_NONE);
+
+       ret = camera_get_display_reuse_hint(camera, NULL);
+
+       camera_stop_preview(camera);
+
+       assert_eq(ret, CAMERA_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}