diff --git a/test/pldm_utils_test.cpp b/test/pldm_utils_test.cpp
index b512db9..c880c20 100644
--- a/test/pldm_utils_test.cpp
+++ b/test/pldm_utils_test.cpp
@@ -50,35 +50,30 @@
     EXPECT_EQ(ret, false);
 }
 
-TEST(decodeEffecterData, testGoodDecodeEffecterData)
+TEST(parseEffecterData, testGoodDecodeEffecterData)
 {
-    std::vector<uint8_t> effecterData = {2, 1, 1, 0, 1, 2};
-    uint16_t effecter_id = 2;
+    std::vector<uint8_t> effecterData = {1, 1, 0, 1};
+    uint8_t effecterCount = 2;
     set_effecter_state_field stateField0 = {1, 1};
-    set_effecter_state_field stateField1 = {0, 0};
-    set_effecter_state_field stateField2 = {1, 2};
+    set_effecter_state_field stateField1 = {0, 1};
 
-    uint16_t retEffecter_id = 0;
-    std::vector<set_effecter_state_field> stateField = {};
-    auto rc = decodeEffecterData(effecterData, retEffecter_id, stateField);
+    auto effecterField = parseEffecterData(effecterData, effecterCount);
+    EXPECT_NE(effecterField, std::nullopt);
+    EXPECT_EQ(effecterCount, effecterField->size());
 
-    EXPECT_EQ(rc, true);
-    EXPECT_EQ(effecter_id, retEffecter_id);
+    std::vector<set_effecter_state_field> stateField = effecterField.value();
     EXPECT_EQ(stateField[0].set_request, stateField0.set_request);
     EXPECT_EQ(stateField[0].effecter_state, stateField0.effecter_state);
     EXPECT_EQ(stateField[1].set_request, stateField1.set_request);
     EXPECT_EQ(stateField[1].effecter_state, stateField1.effecter_state);
-    EXPECT_EQ(stateField[2].set_request, stateField2.set_request);
-    EXPECT_EQ(stateField[2].effecter_state, stateField2.effecter_state);
 }
 
-TEST(decodeEffecterData, testBadDecodeEffecterData)
+TEST(parseEffecterData, testBadDecodeEffecterData)
 {
-    std::vector<uint8_t> effecterData = {2, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+    std::vector<uint8_t> effecterData = {0, 1, 0, 1, 0, 1};
+    uint8_t effecterCount = 2;
 
-    uint16_t retEffecter_id = 0;
-    std::vector<set_effecter_state_field> stateField = {};
-    auto rc = decodeEffecterData(effecterData, retEffecter_id, stateField);
+    auto effecterField = parseEffecterData(effecterData, effecterCount);
 
-    EXPECT_EQ(rc, false);
+    EXPECT_EQ(effecterField, std::nullopt);
 }
