| Lei YU | ab1327c | 2019-11-04 16:53:39 +0800 | [diff] [blame] | 1 | #pragma once | 
|  | 2 |  | 
|  | 3 | #include "../i2c_interface.hpp" | 
|  | 4 |  | 
|  | 5 | #include <gmock/gmock.h> | 
|  | 6 |  | 
|  | 7 | namespace i2c | 
|  | 8 | { | 
|  | 9 |  | 
|  | 10 | class MockedI2CInterface : public I2CInterface | 
|  | 11 | { | 
|  | 12 | public: | 
|  | 13 | virtual ~MockedI2CInterface() = default; | 
|  | 14 |  | 
|  | 15 | MOCK_METHOD(void, read, (uint8_t & data), (override)); | 
|  | 16 | MOCK_METHOD(void, read, (uint8_t addr, uint8_t& data), (override)); | 
|  | 17 | MOCK_METHOD(void, read, (uint8_t addr, uint16_t& data), (override)); | 
| Lei YU | 1d10342 | 2019-11-29 14:00:02 +0800 | [diff] [blame^] | 18 | MOCK_METHOD(void, read, | 
|  | 19 | (uint8_t addr, uint8_t& size, uint8_t* data, Mode mode), | 
| Lei YU | ab1327c | 2019-11-04 16:53:39 +0800 | [diff] [blame] | 20 | (override)); | 
|  | 21 |  | 
|  | 22 | MOCK_METHOD(void, write, (uint8_t data), (override)); | 
|  | 23 | MOCK_METHOD(void, write, (uint8_t addr, uint8_t data), (override)); | 
|  | 24 | MOCK_METHOD(void, write, (uint8_t addr, uint16_t data), (override)); | 
| Lei YU | 1d10342 | 2019-11-29 14:00:02 +0800 | [diff] [blame^] | 25 | MOCK_METHOD(void, write, | 
|  | 26 | (uint8_t addr, uint8_t size, const uint8_t* data, Mode mode), | 
| Lei YU | ab1327c | 2019-11-04 16:53:39 +0800 | [diff] [blame] | 27 | (override)); | 
|  | 28 | }; | 
|  | 29 |  | 
|  | 30 | std::unique_ptr<I2CInterface> create(uint8_t /*busId*/, uint8_t /*devAddr*/) | 
|  | 31 | { | 
|  | 32 | return std::make_unique<MockedI2CInterface>(); | 
|  | 33 | } | 
|  | 34 |  | 
|  | 35 | } // namespace i2c |