[UTC][Voice-control][ACR-1450][Add new testcases] 71/214671/7
authorSungwook Park <sungwook79.park@samsung.com>
Wed, 25 Sep 2019 06:43:23 +0000 (15:43 +0900)
committerSungwook Park <sungwook79.park@samsung.com>
Thu, 26 Sep 2019 02:13:16 +0000 (11:13 +0900)
Change-Id: I158c5eb4bfffd79177b78d2d500ccbc4a68a7366
Signed-off-by: Sungwook Park <sungwook79.park@samsung.com>
src/utc/voice-control/public.list
src/utc/voice-control/tct-voice-control-core_mobile.h
src/utc/voice-control/tct-voice-control-core_tizeniot.h
src/utc/voice-control/tct-voice-control-core_wearable.h
src/utc/voice-control/utc-voice-control.c

index ac3ffd05b06e7fad064a9c5789ca114cb1c2c7e7..ef0620a7749907c24fe8aa29e1a0755408f421f9 100644 (file)
@@ -22,6 +22,13 @@ vc_set_error_cb
 vc_unset_error_cb
 vc_set_invocation_name
 vc_request_dialog
+vc_tts_request
+vc_tts_cancel
+vc_tts_get_synthesized_audio_details
+vc_tts_set_streaming_cb
+vc_tts_unset_streaming_cb
+vc_tts_set_utterance_status_cb
+vc_tts_unset_utterance_status_cb
 vc_cmd_list_create
 vc_cmd_list_destroy
 vc_cmd_list_get_count
index 146fb05077b9f403bbc7d6be4aa954cefd4b3b76..8a0260821956befef2bde4bf288e5c32d167753e 100644 (file)
@@ -137,6 +137,21 @@ extern int utc_vc_cmd_set_format_n(void);
 extern int utc_vc_cmd_get_format_p(void);
 extern int utc_vc_cmd_get_format_n(void);
 
+extern int utc_vc_tts_request_p(void);
+extern int utc_vc_tts_request_n(void);
+extern int utc_vc_tts_cancel_p(void);
+extern int utc_vc_tts_cancel_n(void);
+extern int utc_vc_tts_get_synthesized_audio_details_p(void);
+extern int utc_vc_tts_get_synthesized_audio_details_n(void);
+extern int utc_vc_tts_set_streaming_cb_p(void);
+extern int utc_vc_tts_set_streaming_cb_n(void);
+extern int utc_vc_tts_unset_streaming_cb_p(void);
+extern int utc_vc_tts_unset_streaming_cb_n(void);
+extern int utc_vc_tts_set_utterance_status_cb_p(void);
+extern int utc_vc_tts_set_utterance_status_cb_n(void);
+extern int utc_vc_tts_unset_utterance_status_cb_p(void);
+extern int utc_vc_tts_unset_utterance_status_cb_n(void);
+
 extern int utc_vce_main_p(void);
 extern int utc_vce_main_n(void);
 extern int utc_vce_send_result_p(void);
@@ -254,6 +269,22 @@ testcase tc_array[] = {
        {"utc_vc_set_invocation_name_n",utc_vc_set_invocation_name_n,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_request_dialog_p",utc_vc_request_dialog_p,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_request_dialog_n",utc_vc_request_dialog_n,utc_voice_control_startup,utc_voice_control_cleanup},
+
+       {"utc_vc_tts_request_p",utc_vc_tts_request_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_request_n",utc_vc_tts_request_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_cancel_p",utc_vc_tts_cancel_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_cancel_n",utc_vc_tts_cancel_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_get_synthesized_audio_details_p",utc_vc_tts_get_synthesized_audio_details_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_get_synthesized_audio_details_n",utc_vc_tts_get_synthesized_audio_details_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_streaming_cb_p",utc_vc_tts_set_streaming_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_streaming_cb_n",utc_vc_tts_set_streaming_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_streaming_cb_p",utc_vc_tts_unset_streaming_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_streaming_cb_n",utc_vc_tts_unset_streaming_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_utterance_status_cb_p",utc_vc_tts_set_utterance_status_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_utterance_status_cb_n",utc_vc_tts_set_utterance_status_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_utterance_status_cb_p",utc_vc_tts_unset_utterance_status_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_utterance_status_cb_n",utc_vc_tts_unset_utterance_status_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+
        {"utc_vc_cmd_list_create_p",utc_vc_cmd_list_create_p,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_cmd_list_create_n",utc_vc_cmd_list_create_n,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_cmd_list_destroy_p",utc_vc_cmd_list_destroy_p,utc_voice_control_startup,utc_voice_control_cleanup},
index 146fb05077b9f403bbc7d6be4aa954cefd4b3b76..8a0260821956befef2bde4bf288e5c32d167753e 100644 (file)
@@ -137,6 +137,21 @@ extern int utc_vc_cmd_set_format_n(void);
 extern int utc_vc_cmd_get_format_p(void);
 extern int utc_vc_cmd_get_format_n(void);
 
+extern int utc_vc_tts_request_p(void);
+extern int utc_vc_tts_request_n(void);
+extern int utc_vc_tts_cancel_p(void);
+extern int utc_vc_tts_cancel_n(void);
+extern int utc_vc_tts_get_synthesized_audio_details_p(void);
+extern int utc_vc_tts_get_synthesized_audio_details_n(void);
+extern int utc_vc_tts_set_streaming_cb_p(void);
+extern int utc_vc_tts_set_streaming_cb_n(void);
+extern int utc_vc_tts_unset_streaming_cb_p(void);
+extern int utc_vc_tts_unset_streaming_cb_n(void);
+extern int utc_vc_tts_set_utterance_status_cb_p(void);
+extern int utc_vc_tts_set_utterance_status_cb_n(void);
+extern int utc_vc_tts_unset_utterance_status_cb_p(void);
+extern int utc_vc_tts_unset_utterance_status_cb_n(void);
+
 extern int utc_vce_main_p(void);
 extern int utc_vce_main_n(void);
 extern int utc_vce_send_result_p(void);
@@ -254,6 +269,22 @@ testcase tc_array[] = {
        {"utc_vc_set_invocation_name_n",utc_vc_set_invocation_name_n,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_request_dialog_p",utc_vc_request_dialog_p,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_request_dialog_n",utc_vc_request_dialog_n,utc_voice_control_startup,utc_voice_control_cleanup},
+
+       {"utc_vc_tts_request_p",utc_vc_tts_request_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_request_n",utc_vc_tts_request_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_cancel_p",utc_vc_tts_cancel_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_cancel_n",utc_vc_tts_cancel_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_get_synthesized_audio_details_p",utc_vc_tts_get_synthesized_audio_details_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_get_synthesized_audio_details_n",utc_vc_tts_get_synthesized_audio_details_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_streaming_cb_p",utc_vc_tts_set_streaming_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_streaming_cb_n",utc_vc_tts_set_streaming_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_streaming_cb_p",utc_vc_tts_unset_streaming_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_streaming_cb_n",utc_vc_tts_unset_streaming_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_utterance_status_cb_p",utc_vc_tts_set_utterance_status_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_utterance_status_cb_n",utc_vc_tts_set_utterance_status_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_utterance_status_cb_p",utc_vc_tts_unset_utterance_status_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_utterance_status_cb_n",utc_vc_tts_unset_utterance_status_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+
        {"utc_vc_cmd_list_create_p",utc_vc_cmd_list_create_p,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_cmd_list_create_n",utc_vc_cmd_list_create_n,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_cmd_list_destroy_p",utc_vc_cmd_list_destroy_p,utc_voice_control_startup,utc_voice_control_cleanup},
index 146fb05077b9f403bbc7d6be4aa954cefd4b3b76..8a0260821956befef2bde4bf288e5c32d167753e 100644 (file)
@@ -137,6 +137,21 @@ extern int utc_vc_cmd_set_format_n(void);
 extern int utc_vc_cmd_get_format_p(void);
 extern int utc_vc_cmd_get_format_n(void);
 
+extern int utc_vc_tts_request_p(void);
+extern int utc_vc_tts_request_n(void);
+extern int utc_vc_tts_cancel_p(void);
+extern int utc_vc_tts_cancel_n(void);
+extern int utc_vc_tts_get_synthesized_audio_details_p(void);
+extern int utc_vc_tts_get_synthesized_audio_details_n(void);
+extern int utc_vc_tts_set_streaming_cb_p(void);
+extern int utc_vc_tts_set_streaming_cb_n(void);
+extern int utc_vc_tts_unset_streaming_cb_p(void);
+extern int utc_vc_tts_unset_streaming_cb_n(void);
+extern int utc_vc_tts_set_utterance_status_cb_p(void);
+extern int utc_vc_tts_set_utterance_status_cb_n(void);
+extern int utc_vc_tts_unset_utterance_status_cb_p(void);
+extern int utc_vc_tts_unset_utterance_status_cb_n(void);
+
 extern int utc_vce_main_p(void);
 extern int utc_vce_main_n(void);
 extern int utc_vce_send_result_p(void);
@@ -254,6 +269,22 @@ testcase tc_array[] = {
        {"utc_vc_set_invocation_name_n",utc_vc_set_invocation_name_n,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_request_dialog_p",utc_vc_request_dialog_p,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_request_dialog_n",utc_vc_request_dialog_n,utc_voice_control_startup,utc_voice_control_cleanup},
+
+       {"utc_vc_tts_request_p",utc_vc_tts_request_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_request_n",utc_vc_tts_request_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_cancel_p",utc_vc_tts_cancel_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_cancel_n",utc_vc_tts_cancel_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_get_synthesized_audio_details_p",utc_vc_tts_get_synthesized_audio_details_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_get_synthesized_audio_details_n",utc_vc_tts_get_synthesized_audio_details_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_streaming_cb_p",utc_vc_tts_set_streaming_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_streaming_cb_n",utc_vc_tts_set_streaming_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_streaming_cb_p",utc_vc_tts_unset_streaming_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_streaming_cb_n",utc_vc_tts_unset_streaming_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_utterance_status_cb_p",utc_vc_tts_set_utterance_status_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_set_utterance_status_cb_n",utc_vc_tts_set_utterance_status_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_utterance_status_cb_p",utc_vc_tts_unset_utterance_status_cb_p,utc_voice_control_startup,utc_voice_control_cleanup},
+       {"utc_vc_tts_unset_utterance_status_cb_n",utc_vc_tts_unset_utterance_status_cb_n,utc_voice_control_startup,utc_voice_control_cleanup},
+
        {"utc_vc_cmd_list_create_p",utc_vc_cmd_list_create_p,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_cmd_list_create_n",utc_vc_cmd_list_create_n,utc_voice_control_startup,utc_voice_control_cleanup},
        {"utc_vc_cmd_list_destroy_p",utc_vc_cmd_list_destroy_p,utc_voice_control_startup,utc_voice_control_cleanup},
index 2e754c345c5b199ffd5c376d3a04ad4ebc82f3d4..5954ee60615b103355b2eaf31e12c30b59d5e21f 100755 (executable)
@@ -56,6 +56,14 @@ static bool __vc_cmd_list_cb(vc_cmd_h vc_command, void* user_data)
        return true;
 }
 
+static void __vc_tts_streaming_cb(vc_tts_event_e event, char* buffer, int len, int utt_id, void *user_data)
+{
+}
+
+static void __vc_tts_utterance_status_cb(int utt_id, vc_tts_utterance_status_e status, void *user_data)
+{
+}
+
 /**
  * @function           utc_voice_control_startup
  * @description                Called before each test
@@ -2180,6 +2188,437 @@ int utc_vc_request_dialog_n(void)
        return 0;
 }
 
+
+
+/**
+ * @testcase           utc_vc_tts_request_p
+ * @since_tizen                5.5
+ * @description                Positive UTC for requesting to send TTS streaming data, asynchronously.
+ */
+int utc_vc_tts_request_p(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               const char* text = "test";
+               const char* language = "test";
+               bool to_vc_manager = true;
+               int utt_id = 1;
+               ret = vc_tts_request(text, language, to_vc_manager, &utt_id);
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               const char* text = "test";
+               const char* language = "test";
+               bool to_vc_manager = true;
+               int utt_id = 1;
+
+               ret = vc_prepare();
+               assert_eq(ret, VC_ERROR_NONE);
+
+               while (VC_STATE_READY != g_vc_state) {
+                       ecore_main_loop_iterate();
+               }
+
+               ret = vc_tts_request(text, language, to_vc_manager, &utt_id);
+               assert_eq(ret, VC_ERROR_NONE);
+
+               ret = vc_unprepare();
+               assert_eq(ret, VC_ERROR_NONE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_request_n
+ * @since_tizen                5.5
+ * @description                Negative UTC for requesting to send TTS streaming data, asynchronously.
+ */
+int utc_vc_tts_request_n(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               const char* text = "test";
+               const char* language = "test";
+               bool to_vc_manager = true;
+               int utt_id = 1;
+               ret = vc_tts_request(text, language, to_vc_manager, &utt_id);
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               vc_deinitialize();
+
+               int ret = VC_ERROR_NONE;
+               const char* text = "test";
+               const char* language = "test";
+               bool to_vc_manager = true;
+               int utt_id = 1;
+               ret = vc_tts_request(text, language, to_vc_manager, &utt_id);
+               assert_eq(ret, VC_ERROR_INVALID_STATE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_cancel_p
+ * @since_tizen                5.5
+ * @description                Positive UTC for requesting to cancel TTS streaming data.
+ */
+int utc_vc_tts_cancel_p(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               int utt_id = 1;
+               ret = vc_tts_cancel(utt_id);
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               const char* text = "test";
+               const char* language = "test";
+               bool to_vc_manager = true;
+               int utt_id = 1;
+
+               ret = vc_prepare();
+               assert_eq(ret, VC_ERROR_NONE);
+
+               while (VC_STATE_READY != g_vc_state) {
+                       ecore_main_loop_iterate();
+               }
+
+               ret = vc_tts_request(text, language, to_vc_manager, &utt_id);
+               assert_eq(ret, VC_ERROR_NONE);
+
+               ret = vc_tts_cancel(utt_id);
+               assert_eq(ret, VC_ERROR_NONE);
+
+               ret = vc_unprepare();
+               assert_eq(ret, VC_ERROR_NONE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_cancel_n
+ * @since_tizen                5.5
+ * @description                Negative UTC for requesting to cancel TTS streaming data.
+ */
+int utc_vc_tts_cancel_n(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_cancel(1);
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+
+               ret = vc_deinitialize();
+               assert_eq(ret, VC_ERROR_NONE);
+
+               ret = vc_tts_cancel(1);
+               assert_eq(ret, VC_ERROR_INVALID_STATE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_get_synthesized_audio_details_p
+ * @since_tizen                5.5
+ * @description                Positive UTC for getting the TTS audio details.
+ */
+int utc_vc_tts_get_synthesized_audio_details_p(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               int rate;
+               vc_audio_channel_e channel;
+               vc_audio_type_e audio_type;
+
+               ret = vc_tts_get_synthesized_audio_details(&rate, &channel, &audio_type);
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               int rate;
+               vc_audio_channel_e channel;
+               vc_audio_type_e audio_type;
+
+               ret = vc_prepare();
+               assert_eq(ret, VC_ERROR_NONE);
+
+               while (VC_STATE_READY != g_vc_state) {
+                       ecore_main_loop_iterate();
+               }
+
+               ret = vc_tts_get_synthesized_audio_details(&rate, &channel, &audio_type);
+               assert_eq(ret, VC_ERROR_NONE);
+
+               ret = vc_unprepare();
+               assert_eq(ret, VC_ERROR_NONE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_get_synthesized_audio_details_n
+ * @since_tizen                5.5
+ * @description                Negative UTC for getting the TTS audio details.
+ */
+int utc_vc_tts_get_synthesized_audio_details_n(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               int rate;
+               vc_audio_channel_e channel;
+               vc_audio_type_e audio_type;
+
+               ret = vc_tts_get_synthesized_audio_details(&rate, &channel, &audio_type);
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               int rate;
+               vc_audio_channel_e channel;
+               vc_audio_type_e audio_type;
+
+               ret = vc_deinitialize();
+               assert_eq(ret, VC_ERROR_NONE);
+
+               ret = vc_tts_get_synthesized_audio_details(&rate, &channel, &audio_type);
+               assert_eq(ret, VC_ERROR_INVALID_STATE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_set_streaming_cb_p
+ * @since_tizen                5.5
+ * @description                Positive UTC for setting the TTS streaming callback function.
+ */
+int utc_vc_tts_set_streaming_cb_p(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_unset_streaming_cb();
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_set_streaming_cb(__vc_tts_streaming_cb, NULL);
+               assert_eq(ret, VC_ERROR_NONE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_set_streaming_cb_n
+ * @since_tizen                5.5
+ * @description                Negative UTC for setting the TTS streaming callback function.
+ */
+int utc_vc_tts_set_streaming_cb_n(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_set_streaming_cb(NULL, NULL);
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_set_streaming_cb(NULL, NULL);
+               assert_eq(ret, VC_ERROR_INVALID_PARAMETER);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_unset_streaming_cb_p
+ * @since_tizen                5.5
+ * @description                Positive UTC for unsetting the TTS streaming callback function.
+ */
+int utc_vc_tts_unset_streaming_cb_p(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_unset_streaming_cb();
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_set_streaming_cb(__vc_tts_streaming_cb, NULL);
+               assert_eq(ret, VC_ERROR_NONE);
+
+               ret = vc_tts_unset_streaming_cb();
+               assert_eq(ret, VC_ERROR_NONE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_unset_streaming_cb_n
+ * @since_tizen                5.5
+ * @description                Negative UTC for unsetting the TTS streaming callback function.
+ */
+int utc_vc_tts_unset_streaming_cb_n(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_unset_streaming_cb();
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               vc_deinitialize();
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_unset_streaming_cb();
+               assert_eq(ret, VC_ERROR_INVALID_STATE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_set_utterance_status_cb_p
+ * @since_tizen                5.5
+ * @description                Positive UTC for setting the TTS utterance status callback function.
+ */
+int utc_vc_tts_set_utterance_status_cb_p(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_unset_utterance_status_cb();
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_set_utterance_status_cb(__vc_tts_utterance_status_cb, NULL);
+               assert_eq(ret, VC_ERROR_NONE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_set_utterance_status_cb_n
+ * @since_tizen                5.5
+ * @description                Negative UTC for setting the TTS utterance status callback function.
+ */
+int utc_vc_tts_set_utterance_status_cb_n(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_set_utterance_status_cb(NULL, NULL);
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_set_utterance_status_cb(NULL, NULL);
+               assert_eq(ret, VC_ERROR_INVALID_PARAMETER);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_unset_utterance_status_cb_p
+ * @since_tizen                5.5
+ * @description                Positive UTC for unsetting the TTS utterance status callback function.
+ */
+int utc_vc_tts_unset_utterance_status_cb_p(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_unset_utterance_status_cb();
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_set_utterance_status_cb(__vc_tts_utterance_status_cb, NULL);
+               assert_eq(ret, VC_ERROR_NONE);
+
+               ret = vc_tts_unset_utterance_status_cb();
+               assert_eq(ret, VC_ERROR_NONE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_vc_tts_unset_utterance_status_cb_n
+ * @since_tizen                5.5
+ * @description                Negative UTC for unsetting the TTS utterance status callback function.
+ */
+int utc_vc_tts_unset_utterance_status_cb_n(void)
+{
+       if (false == g_vc_supported) {
+               assert_eq(g_vc_init, false);
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_unset_utterance_status_cb();
+               assert_eq(ret, VC_ERROR_NOT_SUPPORTED);
+       } else {
+               assert_eq(g_vc_init, true);
+
+               vc_deinitialize();
+
+               int ret = VC_ERROR_NONE;
+               ret = vc_tts_unset_utterance_status_cb();
+               assert_eq(ret, VC_ERROR_INVALID_STATE);
+       }
+
+       return 0;
+}
+
+
+
 /**
  * @testcase           utc_vc_cmd_list_create_p
  * @since_tizen                2.4