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
{
{
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