xref: /openbmc/phosphor-power/phosphor-regulators/test/mock_sensors.hpp (revision c9c69518af01fa1a674875bb07e67e39cc9a558d)
10a450197SShawn McCarney /**
20a450197SShawn McCarney  * Copyright © 2021 IBM Corporation
30a450197SShawn McCarney  *
40a450197SShawn McCarney  * Licensed under the Apache License, Version 2.0 (the "License");
50a450197SShawn McCarney  * you may not use this file except in compliance with the License.
60a450197SShawn McCarney  * You may obtain a copy of the License at
70a450197SShawn McCarney  *
80a450197SShawn McCarney  *     http://www.apache.org/licenses/LICENSE-2.0
90a450197SShawn McCarney  *
100a450197SShawn McCarney  * Unless required by applicable law or agreed to in writing, software
110a450197SShawn McCarney  * distributed under the License is distributed on an "AS IS" BASIS,
120a450197SShawn McCarney  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130a450197SShawn McCarney  * See the License for the specific language governing permissions and
140a450197SShawn McCarney  * limitations under the License.
150a450197SShawn McCarney  */
160a450197SShawn McCarney #pragma once
170a450197SShawn McCarney 
180a450197SShawn McCarney #include "sensors.hpp"
190a450197SShawn McCarney 
200a450197SShawn McCarney #include <string>
210a450197SShawn McCarney 
220a450197SShawn McCarney #include <gmock/gmock.h>
230a450197SShawn McCarney 
240a450197SShawn McCarney namespace phosphor::power::regulators
250a450197SShawn McCarney {
260a450197SShawn McCarney 
270a450197SShawn McCarney /**
280a450197SShawn McCarney  * @class MockSensors
290a450197SShawn McCarney  *
300a450197SShawn McCarney  * Mock implementation of the Sensors interface.
310a450197SShawn McCarney  */
320a450197SShawn McCarney class MockSensors : public Sensors
330a450197SShawn McCarney {
340a450197SShawn McCarney   public:
350a450197SShawn McCarney     // Specify which compiler-generated methods we want
360a450197SShawn McCarney     MockSensors() = default;
370a450197SShawn McCarney     MockSensors(const MockSensors&) = delete;
380a450197SShawn McCarney     MockSensors(MockSensors&&) = delete;
390a450197SShawn McCarney     MockSensors& operator=(const MockSensors&) = delete;
400a450197SShawn McCarney     MockSensors& operator=(MockSensors&&) = delete;
410a450197SShawn McCarney     virtual ~MockSensors() = default;
420a450197SShawn McCarney 
43*c9c69518SShawn McCarney     MOCK_METHOD(void, enable, (), (override));
440a450197SShawn McCarney 
45*c9c69518SShawn McCarney     MOCK_METHOD(void, endCycle, (), (override));
460a450197SShawn McCarney 
47*c9c69518SShawn McCarney     MOCK_METHOD(void, endRail, (bool errorOccurred), (override));
480a450197SShawn McCarney 
49*c9c69518SShawn McCarney     MOCK_METHOD(void, disable, (), (override));
500a450197SShawn McCarney 
51*c9c69518SShawn McCarney     MOCK_METHOD(void, setValue, (SensorType type, double value), (override));
520a450197SShawn McCarney 
53*c9c69518SShawn McCarney     MOCK_METHOD(void, startCycle, (), (override));
540a450197SShawn McCarney 
550a450197SShawn McCarney     MOCK_METHOD(void, startRail,
560a450197SShawn McCarney                 (const std::string& rail,
570a450197SShawn McCarney                  const std::string& deviceInventoryPath,
58*c9c69518SShawn McCarney                  const std::string& chassisInventoryPath),
590a450197SShawn McCarney                 (override));
600a450197SShawn McCarney };
610a450197SShawn McCarney 
620a450197SShawn McCarney } // namespace phosphor::power::regulators
63