blob: 6dfe660a1fe95c3e00bb6a7f0431a4addeb56c17 [file] [log] [blame]
Krzysztof Grobelnyc8e3a642020-10-23 12:29:16 +02001#pragma once
2
3#include "interfaces/metric.hpp"
4
5#include <gmock/gmock.h>
6
7class MetricMock : public interfaces::Metric
8{
9 public:
10 MetricMock()
11 {
12 using namespace testing;
13
Krzysztof Grobelny9e8da542022-02-17 10:40:16 +010014 ON_CALL(*this, getUpdatedReadings())
15 .WillByDefault(ReturnRefOfCopy(std::vector<MetricValue>()));
Krzysztof Grobelnyf7ea2992022-01-27 11:04:58 +010016 ON_CALL(*this, sensorCount).WillByDefault(InvokeWithoutArgs([this] {
Krzysztof Grobelny9e8da542022-02-17 10:40:16 +010017 return getUpdatedReadings().size();
Krzysztof Grobelnyf7ea2992022-01-27 11:04:58 +010018 }));
Krzysztof Grobelnyc8e3a642020-10-23 12:29:16 +020019 }
20
Krzysztof Grobelny6ccfcbf2020-11-04 09:31:36 +010021 MOCK_METHOD(void, initialize, (), (override));
Lukasz Kazmierczak7e098e92021-09-16 15:59:56 +020022 MOCK_METHOD(void, deinitialize, (), (override));
Krzysztof Grobelny9e8da542022-02-17 10:40:16 +010023 MOCK_METHOD(const std::vector<MetricValue>&, getUpdatedReadings, (),
24 (override));
Krzysztof Grobelnyd2238192020-12-02 09:27:28 +000025 MOCK_METHOD(LabeledMetricParameters, dumpConfiguration, (),
26 (const, override));
Krzysztof Grobelnyf7ea2992022-01-27 11:04:58 +010027 MOCK_METHOD(uint64_t, sensorCount, (), (const, override));
28 MOCK_METHOD(void, registerForUpdates, (interfaces::MetricListener&),
29 (override));
30 MOCK_METHOD(void, unregisterFromUpdates, (interfaces::MetricListener&),
31 (override));
32 MOCK_METHOD(void, updateReadings, (Milliseconds), (override));
33 MOCK_METHOD(bool, isTimerRequired, (), (const, override));
Krzysztof Grobelnyc8e3a642020-10-23 12:29:16 +020034};