1 #pragma once 2 3 #include "interfaces.hpp" 4 #include "pid/zone_interface.hpp" 5 #include "sensors/sensor.hpp" 6 7 #include <cstdint> 8 #include <map> 9 #include <string> 10 #include <string_view> 11 #include <utility> 12 #include <vector> 13 14 #include <gmock/gmock.h> 15 16 namespace pid_control 17 { 18 19 class ZoneMock : public ZoneInterface 20 { 21 public: 22 ~ZoneMock() override = default; 23 24 MOCK_METHOD0(updateFanTelemetry, void()); 25 MOCK_METHOD0(updateSensors, void()); 26 MOCK_METHOD0(initializeCache, void()); 27 MOCK_METHOD1(getCachedValue, double(const std::string&)); 28 29 // Compatibility interface for getCachedValues getCachedValues(const std::string & s)30 ValueCacheEntry getCachedValues(const std::string& s) override 31 { 32 auto v = getCachedValue(s); 33 return {v, v}; 34 } 35 36 MOCK_CONST_METHOD0(getRedundantWrite, bool(void)); 37 MOCK_METHOD2(addSetPoint, void(double, const std::string&)); 38 MOCK_METHOD2(setOutputCache, 39 void(std::string_view name, const ValueCacheEntry& values)); 40 MOCK_METHOD0(clearSetPoints, void()); 41 MOCK_METHOD1(addRPMCeiling, void(double)); 42 MOCK_METHOD0(clearRPMCeilings, void()); 43 MOCK_METHOD0(determineMaxSetPointRequest, void()); 44 MOCK_CONST_METHOD0(getMaxSetPointRequest, double()); 45 46 MOCK_METHOD0(processFans, void()); 47 MOCK_METHOD0(processThermals, void()); 48 49 MOCK_CONST_METHOD0(getManualMode, bool()); 50 MOCK_CONST_METHOD0(getFailSafeMode, bool()); 51 MOCK_METHOD0(getFailSafePercent, double()); 52 MOCK_CONST_METHOD0( 53 getFailSafeSensors, 54 std::map<std::string, std::pair<std::string, double>>(void)); 55 MOCK_CONST_METHOD0(getZoneID, int64_t()); 56 57 MOCK_CONST_METHOD0(getCycleIntervalTime, uint64_t()); 58 MOCK_CONST_METHOD0(getUpdateThermalsCycle, uint64_t()); 59 MOCK_CONST_METHOD0(getAccSetPoint, bool()); 60 61 MOCK_METHOD1(getSensor, Sensor*(const std::string&)); 62 MOCK_METHOD0(getSensorNames, std::vector<std::string>()); 63 64 MOCK_METHOD0(initializeLog, void()); 65 MOCK_METHOD1(writeLog, void(const std::string&)); 66 67 MOCK_METHOD4(updateThermalPowerDebugInterface, 68 void(std::string pidName, std::string leader, double input, 69 double output)); 70 }; 71 72 } // namespace pid_control 73