diff --git a/test/message/types.cpp b/test/message/types.cpp
index 8676e25..604996e 100644
--- a/test/message/types.cpp
+++ b/test/message/types.cpp
@@ -1,4 +1,4 @@
-#include <cassert>
+#include <gtest/gtest.h>
 #include <sdbusplus/message/types.hpp>
 #include <sdbusplus/utility/tuple_to_array.hpp>
 
@@ -10,31 +10,37 @@
                    sdbusplus::message::types::type_id<Args...>()).data());
 }
 
-int main()
+TEST(MessageTypes, Integer)
 {
+    ASSERT_EQ(dbus_string(1),"i");
+}
 
-    // Check a few simple types.
-    assert(dbus_string(1) == "i");
-    assert(dbus_string(1.0) == "d");
+TEST(MessageTypes, Double)
+{
+    ASSERT_EQ(dbus_string(1.0), "d");
+}
 
-    // Check a multiple parameter call.
-    assert(dbus_string(false, true) == "bb");
-    assert(dbus_string(1, 2, 3, true, 1.0) == "iiibd");
+TEST(MessageTypes, MultipleParameter)
+{
+    ASSERT_EQ(dbus_string(false, true), "bb");
+    ASSERT_EQ(dbus_string(1, 2, 3, true, 1.0), "iiibd");
+}
 
-    // Check an l-value and r-value reference.
-    {
-        std::string a = "a";
-        std::string b = "b";
-        const char* c = "c";
+TEST(MessageTypes, StringReferences)
+{
+    std::string a = "a";
+    std::string b = "b";
+    const char* c = "c";
 
-        assert(dbus_string(a, std::move(b), c) == "sss");
-    }
+    ASSERT_EQ(dbus_string(a, std::move(b), c), "sss");
+}
 
-    // Check object_path and signatures.
-    assert(dbus_string(std::string("asdf"),
-                       sdbusplus::message::object_path("/asdf"),
-                       sdbusplus::message::signature("sss")) ==
-           "sog");
+TEST(MessageTypes, ObjectPath)
+{
+    ASSERT_EQ(dbus_string(sdbusplus::message::object_path("/asdf")), "o");
+}
 
-    return 0;
+TEST(MessageTypes, Signature)
+{
+    ASSERT_EQ(dbus_string(sdbusplus::message::signature("sss")), "g");
 }
