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