blob: feb8f741828ef942b08a4e7ac2deca9acec66978 [file] [log] [blame]
Lei YUab1327c2019-11-04 16:53:39 +08001#pragma once
2
3#include "../i2c_interface.hpp"
4
5#include <gmock/gmock.h>
6
7namespace i2c
8{
9
10class 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));
18 MOCK_METHOD(void, read, (uint8_t addr, uint8_t& size, uint8_t* data),
19 (override));
20
21 MOCK_METHOD(void, write, (uint8_t data), (override));
22 MOCK_METHOD(void, write, (uint8_t addr, uint8_t data), (override));
23 MOCK_METHOD(void, write, (uint8_t addr, uint16_t data), (override));
24 MOCK_METHOD(void, write, (uint8_t addr, uint8_t size, const uint8_t* data),
25 (override));
26};
27
28std::unique_ptr<I2CInterface> create(uint8_t /*busId*/, uint8_t /*devAddr*/)
29{
30 return std::make_unique<MockedI2CInterface>();
31}
32
33} // namespace i2c