1 #pragma once
2 
3 #include "interfaces/sensor.hpp"
4 #include "utils/generate_unique_mock_id.hpp"
5 
6 #include <gmock/gmock.h>
7 
8 class SensorMock : public interfaces::Sensor
9 {
10   public:
11     explicit SensorMock(Id sensorId) : mockSensorId(sensorId)
12     {
13         ON_CALL(*this, id()).WillByDefault(testing::Invoke([this] {
14             return this->mockSensorId;
15         }));
16     }
17 
18     static Id makeId(std::string_view service, std::string_view path)
19     {
20         return Id("SensorMock", service, path);
21     }
22 
23     MOCK_CONST_METHOD0(id, Id());
24 
25     const uint64_t mockId = generateUniqueMockId();
26 
27     Id mockSensorId = Id("SensorMock", "", "");
28 };
29