diff --git a/phosphor-regulators/test/pmbus_utils_tests.cpp b/phosphor-regulators/test/pmbus_utils_tests.cpp
index 8c28efd..4aab7db 100644
--- a/phosphor-regulators/test/pmbus_utils_tests.cpp
+++ b/phosphor-regulators/test/pmbus_utils_tests.cpp
@@ -100,6 +100,109 @@
     EXPECT_EQ(parameter, 0);
 }
 
+TEST(PMBusUtilsTests, ToString)
+{
+    // Sensor data format: SensorDataFormat::linear_11
+    {
+        pmbus_utils::SensorDataFormat format =
+            pmbus_utils::SensorDataFormat::linear_11;
+        EXPECT_EQ(pmbus_utils::toString(format), "linear_11");
+    }
+
+    // Sensor data format: SensorDataFormat::linear_16
+    {
+        pmbus_utils::SensorDataFormat format =
+            pmbus_utils::SensorDataFormat::linear_16;
+        EXPECT_EQ(pmbus_utils::toString(format), "linear_16");
+    }
+
+    // Sensor value type: SensorValueType::iout
+    {
+        pmbus_utils::SensorValueType type = pmbus_utils::SensorValueType::iout;
+        EXPECT_EQ(pmbus_utils::toString(type), "iout");
+    }
+
+    // Sensor value type: SensorValueType::iout_peak
+    {
+        pmbus_utils::SensorValueType type =
+            pmbus_utils::SensorValueType::iout_peak;
+        EXPECT_EQ(pmbus_utils::toString(type), "iout_peak");
+    }
+
+    // Sensor value type: SensorValueType::iout_valley
+    {
+        pmbus_utils::SensorValueType type =
+            pmbus_utils::SensorValueType::iout_valley;
+        EXPECT_EQ(pmbus_utils::toString(type), "iout_valley");
+    }
+
+    // Sensor value type: SensorValueType::pout
+    {
+        pmbus_utils::SensorValueType type = pmbus_utils::SensorValueType::pout;
+        EXPECT_EQ(pmbus_utils::toString(type), "pout");
+    }
+
+    // Sensor value type: SensorValueType::temperature
+    {
+        pmbus_utils::SensorValueType type =
+            pmbus_utils::SensorValueType::temperature;
+        EXPECT_EQ(pmbus_utils::toString(type), "temperature");
+    }
+
+    // Sensor value type: SensorValueType::temperature_peak
+    {
+        pmbus_utils::SensorValueType type =
+            pmbus_utils::SensorValueType::temperature_peak;
+        EXPECT_EQ(pmbus_utils::toString(type), "temperature_peak");
+    }
+
+    // Sensor value type: SensorValueType::vout
+    {
+        pmbus_utils::SensorValueType type = pmbus_utils::SensorValueType::vout;
+        EXPECT_EQ(pmbus_utils::toString(type), "vout");
+    }
+
+    // Sensor value type: SensorValueType::vout_peak
+    {
+        pmbus_utils::SensorValueType type =
+            pmbus_utils::SensorValueType::vout_peak;
+        EXPECT_EQ(pmbus_utils::toString(type), "vout_peak");
+    }
+
+    // Sensor value type: SensorValueType::vout_valley
+    {
+        pmbus_utils::SensorValueType type =
+            pmbus_utils::SensorValueType::vout_valley;
+        EXPECT_EQ(pmbus_utils::toString(type), "vout_valley");
+    }
+
+    // Vout data format: VoutDataFormat::linear
+    {
+        pmbus_utils::VoutDataFormat format =
+            pmbus_utils::VoutDataFormat::linear;
+        EXPECT_EQ(pmbus_utils::toString(format), "linear");
+    }
+
+    // Vout data format: VoutDataFormat::vid
+    {
+        pmbus_utils::VoutDataFormat format = pmbus_utils::VoutDataFormat::vid;
+        EXPECT_EQ(pmbus_utils::toString(format), "vid");
+    }
+
+    // Vout data format: VoutDataFormat::direct
+    {
+        pmbus_utils::VoutDataFormat format =
+            pmbus_utils::VoutDataFormat::direct;
+        EXPECT_EQ(pmbus_utils::toString(format), "direct");
+    }
+
+    // Vout data format: VoutDataFormat::ieee
+    {
+        pmbus_utils::VoutDataFormat format = pmbus_utils::VoutDataFormat::ieee;
+        EXPECT_EQ(pmbus_utils::toString(format), "ieee");
+    }
+}
+
 TEST(PMBusUtilsTests, ConvertToVoutLinear)
 {
     double volts;
