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_METHOD1(getCachedValues, ValueCacheEntry(const std::string&));
22     MOCK_CONST_METHOD0(getRedundantWrite, bool(void));
23     MOCK_METHOD2(addSetPoint, void(double, const std::string&));
24     MOCK_METHOD2(setOutputCache,
25                  void(std::string_view name, const ValueCacheEntry& values));
26     MOCK_METHOD0(clearSetPoints, void());
27     MOCK_METHOD1(addRPMCeiling, void(double));
28     MOCK_METHOD0(clearRPMCeilings, void());
29     MOCK_METHOD0(determineMaxSetPointRequest, void());
30     MOCK_CONST_METHOD0(getMaxSetPointRequest, double());
31 
32     MOCK_METHOD0(processFans, void());
33     MOCK_METHOD0(processThermals, void());
34 
35     MOCK_CONST_METHOD0(getManualMode, bool());
36     MOCK_CONST_METHOD0(getFailSafeMode, bool());
37     MOCK_CONST_METHOD0(getFailSafePercent, double());
38 
39     MOCK_METHOD1(getSensor, Sensor*(const std::string&));
40 
41     MOCK_METHOD0(initializeLog, void());
42     MOCK_METHOD1(writeLog, void(const std::string&));
43 };
44 
45 } // namespace pid_control
46