diff --git a/test/zone_mock.hpp b/test/zone_mock.hpp
index f08c68f..8dbf24a 100644
--- a/test/zone_mock.hpp
+++ b/test/zone_mock.hpp
@@ -1,19 +1,20 @@
 #pragma once
 
-#include <gmock/gmock.h>
+#include "pid/zone.hpp"
+
 #include <string>
 
-#include "pid/zone.hpp"
+#include <gmock/gmock.h>
 
 class ZoneMock : public ZoneInterface
 {
-    public:
-        virtual ~ZoneMock() = default;
+  public:
+    virtual ~ZoneMock() = default;
 
-        MOCK_METHOD1(getCachedValue, double(const std::string&));
-        MOCK_METHOD1(addRPMSetPoint, void(float));
-        MOCK_CONST_METHOD0(getMaxRPMRequest, float());
-        MOCK_CONST_METHOD0(getFailSafeMode, bool());
-        MOCK_CONST_METHOD0(getFailSafePercent, float());
-        MOCK_METHOD1(getSensor, Sensor*(std::string));
+    MOCK_METHOD1(getCachedValue, double(const std::string&));
+    MOCK_METHOD1(addRPMSetPoint, void(float));
+    MOCK_CONST_METHOD0(getMaxRPMRequest, float());
+    MOCK_CONST_METHOD0(getFailSafeMode, bool());
+    MOCK_CONST_METHOD0(getFailSafePercent, float());
+    MOCK_METHOD1(getSensor, Sensor*(std::string));
 };
