198055435SPatrick Venture #pragma once
298055435SPatrick Venture 
398055435SPatrick Venture #include "interfaces.hpp"
498055435SPatrick Venture #include "sensors/sensor.hpp"
598055435SPatrick Venture 
6da4a5dd1SPatrick Venture #include <gmock/gmock.h>
7da4a5dd1SPatrick Venture 
8a076487aSPatrick Venture namespace pid_control
9a076487aSPatrick Venture {
10a076487aSPatrick Venture 
1198055435SPatrick Venture class SensorMock : public Sensor
1298055435SPatrick Venture {
1398055435SPatrick Venture   public:
1498055435SPatrick Venture     virtual ~SensorMock() = default;
1598055435SPatrick Venture 
SensorMock(const std::string & name,int64_t timeout)16da4a5dd1SPatrick Venture     SensorMock(const std::string& name, int64_t timeout) : Sensor(name, timeout)
17a83a3eccSPatrick Venture     {}
1898055435SPatrick Venture 
1998055435SPatrick Venture     MOCK_METHOD0(read, ReadReturn());
2098055435SPatrick Venture     MOCK_METHOD1(write, void(double));
21*a4146eb1SJosh Lehan     MOCK_METHOD3(write, void(double, bool, int64_t*));
2298055435SPatrick Venture };
23a076487aSPatrick Venture 
24a076487aSPatrick Venture } // namespace pid_control
25