Add core test case for setting device role changed callback 83/272883/1
authorhyunuk.tak <hyunuk.tak@samsung.com>
Tue, 22 Mar 2022 04:54:33 +0000 (13:54 +0900)
committerhyunuk.tak <hyunuk.tak@samsung.com>
Mon, 28 Mar 2022 01:51:54 +0000 (10:51 +0900)
Change-Id: Ifc14e36f8fdfa3a9102f8c1965c8e993f54cf79d
Signed-off-by: hyunuk.tak <hyunuk.tak@samsung.com>
tests/unittest/thread-unittest-core.cpp

index 658b9e5..4665dec 100644 (file)
@@ -24,6 +24,9 @@ public:
        thread_instance_h instance;
        thread_device_role_e deviceRole;
 
+public:
+       static void deviceRoleCb(thread_device_role_e device_role, void *user_data) {};
+
 protected:
        void SetUp() override
        {
@@ -152,4 +155,24 @@ TEST_F(ThreadCoreTest, GetDeviceRoleErrorNone)
 {
        EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
        EXPECT_EQ(THREAD_ERROR_NONE, thread_get_device_role(instance, &deviceRole));
+}
+
+TEST_F(ThreadCoreTest, SetDeviceRoleChangedCbNotInitialized)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
+       EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
+               thread_set_device_role_changed_cb(instance, deviceRoleCb, nullptr));
+}
+
+TEST_F(ThreadCoreTest, SetDeviceRoleChangedCbInvalidParameter)
+{
+       EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
+               thread_set_device_role_changed_cb(instance, deviceRoleCb, nullptr));
+}
+
+TEST_F(ThreadCoreTest, SetDeviceRoleChangedCbErrorNone)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+       EXPECT_EQ(THREAD_ERROR_NONE,
+               thread_set_device_role_changed_cb(instance, deviceRoleCb, nullptr));
 }
\ No newline at end of file