1ab1327c3SLei YU #pragma once 2ab1327c3SLei YU 3ab1327c3SLei YU #include "../i2c_interface.hpp" 4ab1327c3SLei YU 5ab1327c3SLei YU #include <gmock/gmock.h> 6ab1327c3SLei YU 7ab1327c3SLei YU namespace i2c 8ab1327c3SLei YU { 9ab1327c3SLei YU 10ab1327c3SLei YU class MockedI2CInterface : public I2CInterface 11ab1327c3SLei YU { 12ab1327c3SLei YU public: 13ab1327c3SLei YU virtual ~MockedI2CInterface() = default; 14ab1327c3SLei YU 15d45a9a6dSShawn McCarney MOCK_METHOD(void, open, (), (override)); 16d45a9a6dSShawn McCarney MOCK_METHOD(bool, isOpen, (), (const, override)); 17d45a9a6dSShawn McCarney MOCK_METHOD(void, close, (), (override)); 18d45a9a6dSShawn McCarney 19ab1327c3SLei YU MOCK_METHOD(void, read, (uint8_t& data), (override)); 20ab1327c3SLei YU MOCK_METHOD(void, read, (uint8_t addr, uint8_t& data), (override)); 21ab1327c3SLei YU MOCK_METHOD(void, read, (uint8_t addr, uint16_t& data), (override)); 221d103428SLei YU MOCK_METHOD(void, read, 231d103428SLei YU (uint8_t addr, uint8_t& size, uint8_t* data, Mode mode), 24ab1327c3SLei YU (override)); 25ab1327c3SLei YU 26ab1327c3SLei YU MOCK_METHOD(void, write, (uint8_t data), (override)); 27ab1327c3SLei YU MOCK_METHOD(void, write, (uint8_t addr, uint8_t data), (override)); 28ab1327c3SLei YU MOCK_METHOD(void, write, (uint8_t addr, uint16_t data), (override)); 291d103428SLei YU MOCK_METHOD(void, write, 301d103428SLei YU (uint8_t addr, uint8_t size, const uint8_t* data, Mode mode), 31ab1327c3SLei YU (override)); 32*a3ff7e71SShawn McCarney 33*a3ff7e71SShawn McCarney MOCK_METHOD(void, processCall, 34*a3ff7e71SShawn McCarney (uint8_t addr, uint16_t writeData, uint16_t& readData), 35*a3ff7e71SShawn McCarney (override)); 36*a3ff7e71SShawn McCarney MOCK_METHOD(void, processCall, 37*a3ff7e71SShawn McCarney (uint8_t addr, uint8_t writeSize, const uint8_t* writeData, 38*a3ff7e71SShawn McCarney uint8_t& readSize, uint8_t* readData), 39*a3ff7e71SShawn McCarney (override)); 40ab1327c3SLei YU }; 41ab1327c3SLei YU 42ab1327c3SLei YU } // namespace i2c 43