blob: 885a2c4a6ba428619f6f4acda8ba6787b38c8f9c [file] [log] [blame]
Patrick Venturea58197c2018-06-11 15:29:45 -07001#pragma once
2
Patrick Venture1a153792020-08-11 08:41:47 -07003#include "pid/zone_interface.hpp"
Patrick Ventureda4a5dd2018-08-31 09:42:48 -07004
Patrick Venturea58197c2018-06-11 15:29:45 -07005#include <string>
James Zheng6df8bb52024-11-27 23:38:47 +00006#include <vector>
Patrick Venturea58197c2018-06-11 15:29:45 -07007
Patrick Ventureda4a5dd2018-08-31 09:42:48 -07008#include <gmock/gmock.h>
Patrick Venturea58197c2018-06-11 15:29:45 -07009
Patrick Venturea0764872020-08-08 07:48:43 -070010namespace pid_control
11{
12
Patrick Venturea58197c2018-06-11 15:29:45 -070013class ZoneMock : public ZoneInterface
14{
Patrick Ventureda4a5dd2018-08-31 09:42:48 -070015 public:
16 virtual ~ZoneMock() = default;
Patrick Venturea58197c2018-06-11 15:29:45 -070017
Patrick Venture7a98c192020-08-12 08:35:16 -070018 MOCK_METHOD0(updateFanTelemetry, void());
19 MOCK_METHOD0(updateSensors, void());
20 MOCK_METHOD0(initializeCache, void());
Patrick Ventureda4a5dd2018-08-31 09:42:48 -070021 MOCK_METHOD1(getCachedValue, double(const std::string&));
Josh Lehand38ae272020-11-13 02:59:30 -080022
23 // Compatibility interface for getCachedValues
24 ValueCacheEntry getCachedValues(const std::string& s)
25 {
26 auto v = getCachedValue(s);
Josh Lehan3f0f7bc2023-02-13 01:45:29 -080027 return {v, v};
Josh Lehand38ae272020-11-13 02:59:30 -080028 }
29
Josh Lehana4146eb2020-10-01 11:49:09 -070030 MOCK_CONST_METHOD0(getRedundantWrite, bool(void));
Nirav Shahccc8bb62022-02-17 21:06:51 -080031 MOCK_METHOD2(addSetPoint, void(double, const std::string&));
Josh Lehanb3005752022-02-22 20:48:07 -080032 MOCK_METHOD2(setOutputCache,
33 void(std::string_view name, const ValueCacheEntry& values));
Patrick Venture7a98c192020-08-12 08:35:16 -070034 MOCK_METHOD0(clearSetPoints, void());
James Feist608304d2019-02-25 10:01:42 -080035 MOCK_METHOD1(addRPMCeiling, void(double));
Patrick Venture7a98c192020-08-12 08:35:16 -070036 MOCK_METHOD0(clearRPMCeilings, void());
37 MOCK_METHOD0(determineMaxSetPointRequest, void());
Patrick Venturef7a2dd52019-07-16 14:31:13 -070038 MOCK_CONST_METHOD0(getMaxSetPointRequest, double());
Patrick Venture7a98c192020-08-12 08:35:16 -070039
40 MOCK_METHOD0(processFans, void());
41 MOCK_METHOD0(processThermals, void());
42
43 MOCK_CONST_METHOD0(getManualMode, bool());
Patrick Ventureda4a5dd2018-08-31 09:42:48 -070044 MOCK_CONST_METHOD0(getFailSafeMode, bool());
Harvey Wu92f9f3c2023-11-07 09:23:35 +080045 MOCK_METHOD0(getFailSafePercent, double());
Bonnie Loc51ba912022-10-12 14:07:22 +080046 MOCK_CONST_METHOD0(getZoneID, int64_t());
Patrick Venture7a98c192020-08-12 08:35:16 -070047
Bonnie Lo0e8fc392022-10-05 10:20:55 +080048 MOCK_CONST_METHOD0(getCycleIntervalTime, uint64_t());
49 MOCK_CONST_METHOD0(getUpdateThermalsCycle, uint64_t());
Delphine CC Chiu97889632023-11-06 11:32:46 +080050 MOCK_CONST_METHOD0(getAccSetPoint, bool());
Bonnie Lo0e8fc392022-10-05 10:20:55 +080051
Patrick Venture2d8e7852018-10-30 19:14:07 -070052 MOCK_METHOD1(getSensor, Sensor*(const std::string&));
James Zheng6df8bb52024-11-27 23:38:47 +000053 MOCK_METHOD0(getSensorNames, std::vector<std::string>());
Patrick Venture7a98c192020-08-12 08:35:16 -070054
55 MOCK_METHOD0(initializeLog, void());
56 MOCK_METHOD1(writeLog, void(const std::string&));
Harvey Wu37180062023-10-02 09:42:50 +080057
58 MOCK_METHOD4(updateThermalPowerDebugInterface,
59 void(std::string pidName, std::string leader, double input,
60 double output));
Patrick Venturea58197c2018-06-11 15:29:45 -070061};
Patrick Venturea0764872020-08-08 07:48:43 -070062
63} // namespace pid_control