From: Ji-hoon Lee Date: Fri, 19 Apr 2019 07:39:54 +0000 (+0900) Subject: [UTC][multi-assistant][ACR-1386][Add new APIs for supporting advanced features of... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bc654263be9edfa31e9cbf0c9884ecbe71ae2930;p=test%2Ftct%2Fnative%2Fapi.git [UTC][multi-assistant][ACR-1386][Add new APIs for supporting advanced features of multi-assistant] Change-Id: I5e3899fa114ec59b730abad70781b3cba97b383b --- diff --git a/src/utc/multi-assistant/public.list b/src/utc/multi-assistant/public.list index f4acaa55f..0672d3170 100644 --- a/src/utc/multi-assistant/public.list +++ b/src/utc/multi-assistant/public.list @@ -15,3 +15,12 @@ ma_set_audio_streaming_cb ma_unset_audio_streaming_cb ma_send_asr_result ma_send_result +ma_send_recognition_result +ma_set_active_state_changed_cb +ma_unset_active_state_changed_cb +ma_start_receiving_audio_streaming_data +ma_stop_receiving_audio_streaming_data +ma_update_voice_feedback_state +ma_send_assistant_specific_command +ma_set_wakeup_engine_command_cb +ma_unset_wakeup_engine_command_cb \ No newline at end of file diff --git a/src/utc/multi-assistant/tct-multi-assistant-core_mobile.h b/src/utc/multi-assistant/tct-multi-assistant-core_mobile.h index 8d827d4be..418541ff6 100644 --- a/src/utc/multi-assistant/tct-multi-assistant-core_mobile.h +++ b/src/utc/multi-assistant/tct-multi-assistant-core_mobile.h @@ -62,7 +62,26 @@ extern int utc_ma_send_asr_result_n1(void); extern int utc_ma_send_asr_result_n2(void); extern int utc_ma_send_result_p(void); extern int utc_ma_send_result_n(void); - +extern int utc_ma_send_recognition_result_p(void); +extern int utc_ma_send_recognition_result_n(void); +extern int utc_ma_set_active_state_changed_cb_p(void); +extern int utc_ma_set_active_state_changed_cb_n1(void); +extern int utc_ma_set_active_state_changed_cb_n2(void); +extern int utc_ma_unset_active_state_changed_cb_p(void); +extern int utc_ma_unset_active_state_changed_cb_n(void); +extern int utc_ma_start_receiving_audio_streaming_data_p(void); +extern int utc_ma_start_receiving_audio_streaming_data_n(void); +extern int utc_ma_stop_receiving_audio_streaming_data_p(void); +extern int utc_ma_stop_receiving_audio_streaming_data_n(void); +extern int utc_ma_update_voice_feedback_state_p(void); +extern int utc_ma_update_voice_feedback_state_n(void); +extern int utc_ma_send_assistant_specific_command_p(void); +extern int utc_ma_send_assistant_specific_command_n(void); +extern int utc_ma_set_wakeup_engine_command_cb_p(void); +extern int utc_ma_set_wakeup_engine_command_cb_n1(void); +extern int utc_ma_set_wakeup_engine_command_cb_n2(void); +extern int utc_ma_unset_wakeup_engine_command_cb_p(void); +extern int utc_ma_unset_wakeup_engine_command_cb_n(void); testcase tc_array[] = { {"utc_ma_initialize_p",utc_ma_initialize_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, @@ -105,6 +124,26 @@ testcase tc_array[] = { {"utc_ma_send_asr_result_n2",utc_ma_send_asr_result_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {"utc_ma_send_result_p",utc_ma_send_result_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {"utc_ma_send_result_n",utc_ma_send_result_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_recognition_result_p",utc_ma_send_recognition_result_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_recognition_result_n",utc_ma_send_recognition_result_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_p",utc_ma_set_active_state_changed_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_n1",utc_ma_set_active_state_changed_cb_n1,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_n2",utc_ma_set_active_state_changed_cb_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_active_state_changed_cb_p",utc_ma_unset_active_state_changed_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_active_state_changed_cb_n",utc_ma_unset_active_state_changed_cb_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_start_receiving_audio_streaming_data_p",utc_ma_start_receiving_audio_streaming_data_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_start_receiving_audio_streaming_data_n",utc_ma_start_receiving_audio_streaming_data_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_stop_receiving_audio_streaming_data_p",utc_ma_stop_receiving_audio_streaming_data_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_stop_receiving_audio_streaming_data_n",utc_ma_stop_receiving_audio_streaming_data_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_update_voice_feedback_state_p",utc_ma_update_voice_feedback_state_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_update_voice_feedback_state_n",utc_ma_update_voice_feedback_state_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_assistant_specific_command_p",utc_ma_send_assistant_specific_command_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_assistant_specific_command_n",utc_ma_send_assistant_specific_command_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_p",utc_ma_set_wakeup_engine_command_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_n1",utc_ma_set_wakeup_engine_command_cb_n1,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_n2",utc_ma_set_wakeup_engine_command_cb_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_wakeup_engine_command_cb_p",utc_ma_unset_wakeup_engine_command_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_wakeup_engine_command_cb_n",utc_ma_unset_wakeup_engine_command_cb_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {NULL, NULL} }; diff --git a/src/utc/multi-assistant/tct-multi-assistant-core_tizeniot.h b/src/utc/multi-assistant/tct-multi-assistant-core_tizeniot.h index 8d827d4be..418541ff6 100644 --- a/src/utc/multi-assistant/tct-multi-assistant-core_tizeniot.h +++ b/src/utc/multi-assistant/tct-multi-assistant-core_tizeniot.h @@ -62,7 +62,26 @@ extern int utc_ma_send_asr_result_n1(void); extern int utc_ma_send_asr_result_n2(void); extern int utc_ma_send_result_p(void); extern int utc_ma_send_result_n(void); - +extern int utc_ma_send_recognition_result_p(void); +extern int utc_ma_send_recognition_result_n(void); +extern int utc_ma_set_active_state_changed_cb_p(void); +extern int utc_ma_set_active_state_changed_cb_n1(void); +extern int utc_ma_set_active_state_changed_cb_n2(void); +extern int utc_ma_unset_active_state_changed_cb_p(void); +extern int utc_ma_unset_active_state_changed_cb_n(void); +extern int utc_ma_start_receiving_audio_streaming_data_p(void); +extern int utc_ma_start_receiving_audio_streaming_data_n(void); +extern int utc_ma_stop_receiving_audio_streaming_data_p(void); +extern int utc_ma_stop_receiving_audio_streaming_data_n(void); +extern int utc_ma_update_voice_feedback_state_p(void); +extern int utc_ma_update_voice_feedback_state_n(void); +extern int utc_ma_send_assistant_specific_command_p(void); +extern int utc_ma_send_assistant_specific_command_n(void); +extern int utc_ma_set_wakeup_engine_command_cb_p(void); +extern int utc_ma_set_wakeup_engine_command_cb_n1(void); +extern int utc_ma_set_wakeup_engine_command_cb_n2(void); +extern int utc_ma_unset_wakeup_engine_command_cb_p(void); +extern int utc_ma_unset_wakeup_engine_command_cb_n(void); testcase tc_array[] = { {"utc_ma_initialize_p",utc_ma_initialize_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, @@ -105,6 +124,26 @@ testcase tc_array[] = { {"utc_ma_send_asr_result_n2",utc_ma_send_asr_result_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {"utc_ma_send_result_p",utc_ma_send_result_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {"utc_ma_send_result_n",utc_ma_send_result_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_recognition_result_p",utc_ma_send_recognition_result_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_recognition_result_n",utc_ma_send_recognition_result_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_p",utc_ma_set_active_state_changed_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_n1",utc_ma_set_active_state_changed_cb_n1,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_n2",utc_ma_set_active_state_changed_cb_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_active_state_changed_cb_p",utc_ma_unset_active_state_changed_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_active_state_changed_cb_n",utc_ma_unset_active_state_changed_cb_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_start_receiving_audio_streaming_data_p",utc_ma_start_receiving_audio_streaming_data_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_start_receiving_audio_streaming_data_n",utc_ma_start_receiving_audio_streaming_data_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_stop_receiving_audio_streaming_data_p",utc_ma_stop_receiving_audio_streaming_data_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_stop_receiving_audio_streaming_data_n",utc_ma_stop_receiving_audio_streaming_data_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_update_voice_feedback_state_p",utc_ma_update_voice_feedback_state_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_update_voice_feedback_state_n",utc_ma_update_voice_feedback_state_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_assistant_specific_command_p",utc_ma_send_assistant_specific_command_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_assistant_specific_command_n",utc_ma_send_assistant_specific_command_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_p",utc_ma_set_wakeup_engine_command_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_n1",utc_ma_set_wakeup_engine_command_cb_n1,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_n2",utc_ma_set_wakeup_engine_command_cb_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_wakeup_engine_command_cb_p",utc_ma_unset_wakeup_engine_command_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_wakeup_engine_command_cb_n",utc_ma_unset_wakeup_engine_command_cb_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {NULL, NULL} }; diff --git a/src/utc/multi-assistant/tct-multi-assistant-core_wearable.h b/src/utc/multi-assistant/tct-multi-assistant-core_wearable.h index 8d827d4be..418541ff6 100644 --- a/src/utc/multi-assistant/tct-multi-assistant-core_wearable.h +++ b/src/utc/multi-assistant/tct-multi-assistant-core_wearable.h @@ -62,7 +62,26 @@ extern int utc_ma_send_asr_result_n1(void); extern int utc_ma_send_asr_result_n2(void); extern int utc_ma_send_result_p(void); extern int utc_ma_send_result_n(void); - +extern int utc_ma_send_recognition_result_p(void); +extern int utc_ma_send_recognition_result_n(void); +extern int utc_ma_set_active_state_changed_cb_p(void); +extern int utc_ma_set_active_state_changed_cb_n1(void); +extern int utc_ma_set_active_state_changed_cb_n2(void); +extern int utc_ma_unset_active_state_changed_cb_p(void); +extern int utc_ma_unset_active_state_changed_cb_n(void); +extern int utc_ma_start_receiving_audio_streaming_data_p(void); +extern int utc_ma_start_receiving_audio_streaming_data_n(void); +extern int utc_ma_stop_receiving_audio_streaming_data_p(void); +extern int utc_ma_stop_receiving_audio_streaming_data_n(void); +extern int utc_ma_update_voice_feedback_state_p(void); +extern int utc_ma_update_voice_feedback_state_n(void); +extern int utc_ma_send_assistant_specific_command_p(void); +extern int utc_ma_send_assistant_specific_command_n(void); +extern int utc_ma_set_wakeup_engine_command_cb_p(void); +extern int utc_ma_set_wakeup_engine_command_cb_n1(void); +extern int utc_ma_set_wakeup_engine_command_cb_n2(void); +extern int utc_ma_unset_wakeup_engine_command_cb_p(void); +extern int utc_ma_unset_wakeup_engine_command_cb_n(void); testcase tc_array[] = { {"utc_ma_initialize_p",utc_ma_initialize_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, @@ -105,6 +124,26 @@ testcase tc_array[] = { {"utc_ma_send_asr_result_n2",utc_ma_send_asr_result_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {"utc_ma_send_result_p",utc_ma_send_result_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {"utc_ma_send_result_n",utc_ma_send_result_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_recognition_result_p",utc_ma_send_recognition_result_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_recognition_result_n",utc_ma_send_recognition_result_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_p",utc_ma_set_active_state_changed_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_n1",utc_ma_set_active_state_changed_cb_n1,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_active_state_changed_cb_n2",utc_ma_set_active_state_changed_cb_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_active_state_changed_cb_p",utc_ma_unset_active_state_changed_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_active_state_changed_cb_n",utc_ma_unset_active_state_changed_cb_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_start_receiving_audio_streaming_data_p",utc_ma_start_receiving_audio_streaming_data_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_start_receiving_audio_streaming_data_n",utc_ma_start_receiving_audio_streaming_data_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_stop_receiving_audio_streaming_data_p",utc_ma_stop_receiving_audio_streaming_data_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_stop_receiving_audio_streaming_data_n",utc_ma_stop_receiving_audio_streaming_data_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_update_voice_feedback_state_p",utc_ma_update_voice_feedback_state_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_update_voice_feedback_state_n",utc_ma_update_voice_feedback_state_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_assistant_specific_command_p",utc_ma_send_assistant_specific_command_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_send_assistant_specific_command_n",utc_ma_send_assistant_specific_command_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_p",utc_ma_set_wakeup_engine_command_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_n1",utc_ma_set_wakeup_engine_command_cb_n1,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_set_wakeup_engine_command_cb_n2",utc_ma_set_wakeup_engine_command_cb_n2,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_wakeup_engine_command_cb_p",utc_ma_unset_wakeup_engine_command_cb_p,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, + {"utc_ma_unset_wakeup_engine_command_cb_n",utc_ma_unset_wakeup_engine_command_cb_n,utc_multi_assistant_startup,utc_multi_assistant_cleanup}, {NULL, NULL} }; diff --git a/src/utc/multi-assistant/utc-multi-assistant.c b/src/utc/multi-assistant/utc-multi-assistant.c index f585102bc..9c773772c 100755 --- a/src/utc/multi-assistant/utc-multi-assistant.c +++ b/src/utc/multi-assistant/utc-multi-assistant.c @@ -23,7 +23,7 @@ static int g_ma_init = false; static ma_state_e g_ma_state = MA_STATE_NONE; static bool g_ma_supported = false; - +static ma_active_state_e g_ma_active_state = MA_ACTIVE_STATE_INACTIVE; static void __ma_state_changed_cb(ma_state_e previous, ma_state_e current, void* user_data) { g_ma_state = current; @@ -42,7 +42,14 @@ static void __ma_audio_streaming_cb(ma_audio_streaming_event_e event, char* buff { } +static void __ma_active_state_changed_cb(ma_active_state_e previous, ma_active_state_e current, void* user_data) +{ + g_ma_active_state = current; +} +static void __ma_set_wakeup_engine_command_changed_cb(const char *command, void* user_data) +{ +} /** * @function utc_multi_assistant_startup * @description Called before each test @@ -1174,4 +1181,547 @@ int utc_ma_send_result_n(void) return 0; } +/** + * @testcase utc_ma_send_recognition_result_p + * @since_tizen 5.5 + * @description Positive UTC for send recognition result + */ +int utc_ma_send_recognition_result_p(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_send_recognition_result(MA_RECOGNITION_RESULT_EVENT_SUCCESS); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_prepare(); + assert_eq(ret, MA_ERROR_NONE); + + while (MA_STATE_READY != g_ma_state) { + ecore_main_loop_iterate(); + } + + ret = ma_send_recognition_result(MA_RECOGNITION_RESULT_EVENT_SUCCESS); + assert_eq(ret, MA_ERROR_NONE); + + ret = ma_unprepare(); + assert_eq(ret, MA_ERROR_NONE); + } + + return 0; +} + +/** + * @testcase utc_ma_send_recognition_result_n + * @since_tizen 5.5 + * @description Negative UTC for send recognition result + */ +int utc_ma_send_recognition_result_n(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_send_recognition_result(MA_RECOGNITION_RESULT_EVENT_EMPTY_TEXT); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_send_recognition_result(MA_RECOGNITION_RESULT_EVENT_EMPTY_TEXT); + assert_eq(ret, MA_ERROR_INVALID_STATE); + } + + return 0; +} + +/** + * @testcase utc_ma_set_active_state_changed_cb_p + * @since_tizen 5.5 + * @description Positive UTC for set active state changed callback + */ +int utc_ma_set_active_state_changed_cb_p(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + int ret = MA_ERROR_NONE; + ret = ma_set_active_state_changed_cb(__ma_active_state_changed_cb, NULL); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + } + + return 0; +} + +/** + * @testcase utc_ma_set_active_state_changed_cb_n1 + * @since_tizen 5.5 + * @description Negative UTC for set active state changed callback (Invalid parameter) + */ +int utc_ma_set_active_state_changed_cb_n1(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_set_active_state_changed_cb(NULL, NULL); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_set_active_state_changed_cb(NULL, NULL); + assert_eq(ret, MA_ERROR_INVALID_PARAMETER); + } + + return 0; +} + +/** + * @testcase utc_ma_set_active_state_changed_cb_n2 + * @since_tizen 5.5 + * @description Negative UTC for set active state changed callback (Invalid state) + */ +int utc_ma_set_active_state_changed_cb_n2(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_set_active_state_changed_cb(__ma_active_state_changed_cb, NULL); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_deinitialize(); + assert_eq(ret, MA_ERROR_NONE); + + ret = ma_set_active_state_changed_cb(__ma_active_state_changed_cb, NULL); + assert_eq(ret, MA_ERROR_INVALID_STATE); + } + + return 0; +} + +/** + * @testcase utc_ma_unset_active_state_changed_cb_p + * @since_tizen 5.5 + * @description Positive UTC for unset active state changed callback + */ +int utc_ma_unset_active_state_changed_cb_p(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_unset_active_state_changed_cb(); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_unset_active_state_changed_cb(); + assert_eq(ret, MA_ERROR_NONE); + } + + return 0; +} + +/** + * @testcase utc_ma_unset_active_state_changed_cb_n + * @since_tizen 5.5 + * @description Negative UTC for unset state changed callback (Invalid state) + */ +int utc_ma_unset_active_state_changed_cb_n(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_unset_active_state_changed_cb(); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_deinitialize(); + assert_eq(ret, MA_ERROR_NONE); + + ret = ma_unset_active_state_changed_cb(); + assert_eq(ret, MA_ERROR_INVALID_STATE); + } + + return 0; +} + +/** + * @testcase utc_ma_start_receiving_audio_streaming_data_p + * @since_tizen 5.5 + * @description Positive UTC for start receiving audio stream data + */ +int utc_ma_start_receiving_audio_streaming_data_p(void) +{ + ma_audio_streaming_data_type_e type = MA_AUDIO_STREAMING_DATA_TYPE_CURRENT_UTTERANCE; + + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_start_receiving_audio_streaming_data(type); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_prepare(); + assert_eq(ret, MA_ERROR_NONE); + + while (MA_STATE_READY != g_ma_state) { + ecore_main_loop_iterate(); + } + + ret = ma_start_receiving_audio_streaming_data(type); + assert_eq(ret, MA_ERROR_NONE); + + ret = ma_unprepare(); + assert_eq(ret, MA_ERROR_NONE); + } + + return 0; +} + +/** + * @testcase utc_ma_start_receiving_audio_streaming_data_n + * @since_tizen 5.5 + * @description Negative UTC for start receiving audio stream data + */ +int utc_ma_start_receiving_audio_streaming_data_n(void) +{ + ma_audio_streaming_data_type_e type = MA_AUDIO_STREAMING_DATA_TYPE_CURRENT_UTTERANCE; + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_start_receiving_audio_streaming_data(type); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_start_receiving_audio_streaming_data(type); + assert_eq(ret, MA_ERROR_INVALID_STATE); + + } + + return 0; +} + +/** + * @testcase utc_ma_stop_receiving_audio_streaming_data_p + * @since_tizen 5.5 + * @description Positive UTC for stop receiving audio stream data + */ +int utc_ma_stop_receiving_audio_streaming_data_p(void) +{ + ma_audio_streaming_data_type_e type = MA_AUDIO_STREAMING_DATA_TYPE_CURRENT_UTTERANCE; + + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_stop_receiving_audio_streaming_data(type); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_prepare(); + assert_eq(ret, MA_ERROR_NONE); + + while (MA_STATE_READY != g_ma_state) { + ecore_main_loop_iterate(); + } + + ret = ma_stop_receiving_audio_streaming_data(type); + assert_eq(ret, MA_ERROR_NONE); + ret = ma_unprepare(); + assert_eq(ret, MA_ERROR_NONE); + } + + return 0; +} + +/** + * @testcase utc_ma_stop_receiving_audio_streaming_data_n + * @since_tizen 5.5 + * @description Negative UTC for stop receiving audio stream data + */ +int utc_ma_stop_receiving_audio_streaming_data_n(void) +{ + ma_audio_streaming_data_type_e type = MA_AUDIO_STREAMING_DATA_TYPE_CURRENT_UTTERANCE; + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_stop_receiving_audio_streaming_data(type); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_stop_receiving_audio_streaming_data(type); + assert_eq(ret, MA_ERROR_INVALID_STATE); + + } + + return 0; +} + +/** + * @testcase utc_ma_update_voice_feedback_state_p + * @since_tizen 5.5 + * @description Positive UTC for ma update voice feedback state + */ +int utc_ma_update_voice_feedback_state_p(void) +{ + ma_voice_feedback_state_e feedback_state = MA_VOICE_FEEDBACK_STATE_NONE; + + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_update_voice_feedback_state(feedback_state); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_prepare(); + assert_eq(ret, MA_ERROR_NONE); + + while (MA_STATE_READY != g_ma_state) { + ecore_main_loop_iterate(); + } + + ret = ma_update_voice_feedback_state(feedback_state); + assert_eq(ret, MA_ERROR_NONE); + + ret = ma_unprepare(); + assert_eq(ret, MA_ERROR_NONE); + } + + return 0; +} + +/** + * @testcase utc_ma_update_voice_feedback_state_n + * @since_tizen 5.5 + * @description Negative UTC for update voice feedback state + */ +int utc_ma_update_voice_feedback_state_n(void) +{ + ma_voice_feedback_state_e feedback_state = MA_VOICE_FEEDBACK_STATE_NONE; + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_update_voice_feedback_state(feedback_state); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_update_voice_feedback_state(feedback_state); + assert_eq(ret, MA_ERROR_INVALID_STATE); + + } + + return 0; +} + +/** + * @testcase utc_ma_send_assistant_specific_command_p + * @since_tizen 5.5 + * @description Positive UTC for ma send assistant specific command + */ +int utc_ma_send_assistant_specific_command_p(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_send_assistant_specific_command("hello"); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_prepare(); + assert_eq(ret, MA_ERROR_NONE); + + while (MA_STATE_READY != g_ma_state) { + ecore_main_loop_iterate(); + } + + ret = ma_send_assistant_specific_command("hello"); + assert_eq(ret, MA_ERROR_NONE); + + ret = ma_unprepare(); + assert_eq(ret, MA_ERROR_NONE); + } + + return 0; +} + +/** + * @testcase utc_ma_send_assistant_specific_command_n + * @since_tizen 5.5 + * @description Negative UTC for ma send assistant specific command + */ +int utc_ma_send_assistant_specific_command_n(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_send_assistant_specific_command("hello"); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_send_assistant_specific_command("hello"); + assert_eq(ret, MA_ERROR_INVALID_STATE); + + } + + return 0; +} + +/** + * @testcase utc_ma_set_wakeup_engine_command_cb_p + * @since_tizen 5.5 + * @description Positive UTC for set wakeup engine command callback + */ +int utc_ma_set_wakeup_engine_command_cb_p(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + int ret = MA_ERROR_NONE; + ret = ma_set_wakeup_engine_command_cb(__ma_set_wakeup_engine_command_changed_cb, NULL); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + } + + return 0; +} + +/** + * @testcase utc_ma_set_wakeup_engine_command_cb_n1 + * @since_tizen 5.5 + * @description Negative UTC for set wakeup engine command callback (Invalid parameter) + */ +int utc_ma_set_wakeup_engine_command_cb_n1(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_set_wakeup_engine_command_cb(NULL, NULL); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_set_wakeup_engine_command_cb(NULL, NULL); + assert_eq(ret, MA_ERROR_INVALID_PARAMETER); + } + + return 0; +} + +/** + * @testcase utc_ma_set_wakeup_engine_command_cb_n2 + * @since_tizen 5.5 + * @description Negative UTC for set wakeup engine command callback (Invalid state) + */ +int utc_ma_set_wakeup_engine_command_cb_n2(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_set_wakeup_engine_command_cb(__ma_set_wakeup_engine_command_changed_cb, NULL); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_deinitialize(); + assert_eq(ret, MA_ERROR_NONE); + + ret = ma_set_wakeup_engine_command_cb(__ma_set_wakeup_engine_command_changed_cb, NULL); + assert_eq(ret, MA_ERROR_INVALID_STATE); + } + + return 0; +} + +/** + * @testcase utc_ma_unset_wakeup_engine_command_cb_p + * @since_tizen 5.5 + * @description Positive UTC for unset wakeup engine command callback + */ +int utc_ma_unset_wakeup_engine_command_cb_p(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_unset_wakeup_engine_command_cb(); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_unset_wakeup_engine_command_cb(); + assert_eq(ret, MA_ERROR_NONE); + } + + return 0; +} + +/** + * @testcase utc_ma_unset_wakeup_engine_command_cb_n + * @since_tizen 5.5 + * @description Negative UTC for unset wakeup engine command callback (Invalid state) + */ +int utc_ma_unset_wakeup_engine_command_cb_n(void) +{ + if (false == g_ma_supported) { + assert_eq(g_ma_init, false); + + int ret = MA_ERROR_NONE; + ret = ma_unset_wakeup_engine_command_cb(); + assert_eq(ret, MA_ERROR_NOT_SUPPORTED); + } else { + assert_eq(g_ma_init, true); + + int ret = MA_ERROR_NONE; + ret = ma_deinitialize(); + assert_eq(ret, MA_ERROR_NONE); + + ret = ma_unset_wakeup_engine_command_cb(); + assert_eq(ret, MA_ERROR_INVALID_STATE); + } + + return 0; +}