[UTC][multi-assistant][ACR-1386][Add new APIs for supporting advanced features of... 06/204106/4
authorJi-hoon Lee <dalton.lee@samsung.com>
Fri, 19 Apr 2019 07:39:54 +0000 (16:39 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Tue, 14 May 2019 08:29:05 +0000 (08:29 +0000)
Change-Id: I5e3899fa114ec59b730abad70781b3cba97b383b

src/utc/multi-assistant/public.list
src/utc/multi-assistant/tct-multi-assistant-core_mobile.h
src/utc/multi-assistant/tct-multi-assistant-core_tizeniot.h
src/utc/multi-assistant/tct-multi-assistant-core_wearable.h
src/utc/multi-assistant/utc-multi-assistant.c

index f4acaa55feb7e7fad475eec6c28ba60627361e51..0672d3170fba197413a24ad7c981c9ac2208163a 100644 (file)
@@ -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
index 8d827d4be1c47c8092cf7348329f5c80c7618af6..418541ff6053fbf1614b51177dff6b3ebaabe410 100644 (file)
@@ -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}
 };
 
index 8d827d4be1c47c8092cf7348329f5c80c7618af6..418541ff6053fbf1614b51177dff6b3ebaabe410 100644 (file)
@@ -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}
 };
 
index 8d827d4be1c47c8092cf7348329f5c80c7618af6..418541ff6053fbf1614b51177dff6b3ebaabe410 100644 (file)
@@ -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}
 };
 
index f585102bc10b31de9fb210bb362dc291fa7be5a9..9c773772cb01d329c1601bc71f3b6bb23db6e3ee 100755 (executable)
@@ -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;
+}