1 #pragma once 2 3 #include "interfaces/metric.hpp" 4 5 #include <gmock/gmock.h> 6 7 class MetricMock : public interfaces::Metric 8 { 9 public: 10 MetricMock() 11 { 12 using namespace testing; 13 14 ON_CALL(*this, getReadings()) 15 .WillByDefault(Return(std::vector<MetricValue>())); 16 ON_CALL(*this, sensorCount).WillByDefault(InvokeWithoutArgs([this] { 17 return getReadings().size(); 18 })); 19 } 20 21 MOCK_METHOD(void, initialize, (), (override)); 22 MOCK_METHOD(void, deinitialize, (), (override)); 23 MOCK_METHOD(std::vector<MetricValue>, getReadings, (), (const, override)); 24 MOCK_METHOD(LabeledMetricParameters, dumpConfiguration, (), 25 (const, override)); 26 MOCK_METHOD(uint64_t, sensorCount, (), (const, override)); 27 MOCK_METHOD(void, registerForUpdates, (interfaces::MetricListener&), 28 (override)); 29 MOCK_METHOD(void, unregisterFromUpdates, (interfaces::MetricListener&), 30 (override)); 31 MOCK_METHOD(void, updateReadings, (Milliseconds), (override)); 32 MOCK_METHOD(bool, isTimerRequired, (), (const, override)); 33 }; 34