diff --git a/test/bej_decoder_test.cpp b/test/bej_decoder_test.cpp
index 16cd19a..2aa9f0e 100644
--- a/test/bej_decoder_test.cpp
+++ b/test/bej_decoder_test.cpp
@@ -91,7 +91,7 @@
         {"DummySimple", dummySimpleTestFiles},
     }),
     [](const testing::TestParamInfo<BejDecoderTest::ParamType>& info) {
-    return info.param.testName;
-});
+        return info.param.testName;
+    });
 
 } // namespace libbej
diff --git a/test/bej_dictionary_test.cpp b/test/bej_dictionary_test.cpp
index 0591f7d..60b2d03 100644
--- a/test/bej_dictionary_test.cpp
+++ b/test/bej_dictionary_test.cpp
@@ -85,10 +85,10 @@
                                        std::get<1>(propertyNameSeq[index]),
                                        &property),
                     0);
-        EXPECT_THAT(bejDictGetPropertyName(dummySimpleDict.data(),
-                                           property->nameOffset,
-                                           property->nameLength),
-                    std::get<0>(propertyNameSeq[index]));
+        EXPECT_THAT(
+            bejDictGetPropertyName(dummySimpleDict.data(), property->nameOffset,
+                                   property->nameLength),
+            std::get<0>(propertyNameSeq[index]));
     }
 }
 
diff --git a/test/bej_encoder_test.cpp b/test/bej_encoder_test.cpp
index d258b4b..c1d6de6 100644
--- a/test/bej_encoder_test.cpp
+++ b/test/bej_encoder_test.cpp
@@ -261,11 +261,10 @@
     bejTreeLinkChildToParent(parent, linkSet);
 }
 
-void redfishCreateArrayOfLinksJson(struct RedfishPropertyParent* parent,
-                                   const char* arrayName, int linkCount,
-                                   const char* const links[],
-                                   struct RedfishArrayOfLinksJson* linksInfo,
-                                   struct RedfishLinkJson* linkJsonArray)
+void redfishCreateArrayOfLinksJson(
+    struct RedfishPropertyParent* parent, const char* arrayName, int linkCount,
+    const char* const links[], struct RedfishArrayOfLinksJson* linksInfo,
+    struct RedfishLinkJson* linkJsonArray)
 {
     bejTreeInitArray(&linksInfo->array, arrayName);
     bejTreeLinkChildToParent(parent, &linksInfo->array);
@@ -436,7 +435,7 @@
         {"Chassis", chassisTestFiles, "", &createChassisResource},
     }),
     [](const testing::TestParamInfo<BejEncoderTest::ParamType>& info) {
-    return info.param.testName;
-});
+        return info.param.testName;
+    });
 
 } // namespace libbej
