diff --git a/tests/src/test_metric.cpp b/tests/src/test_metric.cpp
index f042c9e..85cd9c9 100644
--- a/tests/src/test_metric.cpp
+++ b/tests/src/test_metric.cpp
@@ -26,8 +26,8 @@
         clockFake.system.set(systemTimestamp);
     }
 
-    static std::vector<std::shared_ptr<SensorMock>>
-        makeSensorMocks(size_t amount)
+    static std::vector<std::shared_ptr<SensorMock>> makeSensorMocks(
+        size_t amount)
     {
         std::vector<std::shared_ptr<SensorMock>> result;
         for (size_t i = 0; i < amount; ++i)
@@ -66,8 +66,8 @@
 
     EXPECT_CALL(*sensorMocks.front(),
                 registerForUpdates(Truly([sut = sut.get()](const auto& a0) {
-        return a0.lock().get() == sut;
-    })));
+                    return a0.lock().get() == sut;
+                })));
 
     sut->initialize();
 }
@@ -78,8 +78,8 @@
 
     EXPECT_CALL(*sensorMocks.front(),
                 unregisterFromUpdates(Truly([sut = sut.get()](const auto& a0) {
-        return a0.lock().get() == sut;
-    })));
+                    return a0.lock().get() == sut;
+                })));
 
     sut->deinitialize();
 }
@@ -351,8 +351,8 @@
         clockFake.advance(timestamp);
     }
 
-    const auto [expectedTimestamp,
-                expectedReading] = GetParam().expectedReading();
+    const auto [expectedTimestamp, expectedReading] =
+        GetParam().expectedReading();
     const auto readings = sut->getUpdatedReadings();
 
     EXPECT_THAT(readings, ElementsAre(MetricValue{"metadata0", expectedReading,
@@ -370,8 +370,8 @@
         sut->getUpdatedReadings();
     }
 
-    const auto [expectedTimestamp,
-                expectedReading] = GetParam().expectedReading();
+    const auto [expectedTimestamp, expectedReading] =
+        GetParam().expectedReading();
     const auto readings = sut->getUpdatedReadings();
 
     EXPECT_THAT(readings, ElementsAre(MetricValue{"metadata0", expectedReading,
