1 #pragma once
2 
3 #include "pid/zone_interface.hpp"
4 
5 #include <string>
6 
7 #include <gmock/gmock.h>
8 
9 namespace pid_control
10 {
11 
12 class ZoneMock : public ZoneInterface
13 {
14   public:
15     virtual ~ZoneMock() = default;
16 
17     MOCK_METHOD0(updateFanTelemetry, void());
18     MOCK_METHOD0(updateSensors, void());
19     MOCK_METHOD0(initializeCache, void());
20     MOCK_METHOD1(getCachedValue, double(const std::string&));
21     MOCK_CONST_METHOD0(getRedundantWrite, bool(void));
22     MOCK_METHOD1(addSetPoint, void(double));
23     MOCK_METHOD0(clearSetPoints, void());
24     MOCK_METHOD1(addRPMCeiling, void(double));
25     MOCK_METHOD0(clearRPMCeilings, void());
26     MOCK_METHOD0(determineMaxSetPointRequest, void());
27     MOCK_CONST_METHOD0(getMaxSetPointRequest, double());
28 
29     MOCK_METHOD0(processFans, void());
30     MOCK_METHOD0(processThermals, void());
31 
32     MOCK_CONST_METHOD0(getManualMode, bool());
33     MOCK_CONST_METHOD0(getFailSafeMode, bool());
34     MOCK_CONST_METHOD0(getFailSafePercent, double());
35 
36     MOCK_METHOD1(getSensor, Sensor*(const std::string&));
37 
38     MOCK_METHOD0(initializeLog, void());
39     MOCK_METHOD1(writeLog, void(const std::string&));
40 };
41 
42 } // namespace pid_control
43