RTC Toolkit 6.0.0
Loading...
Searching...
No Matches
mockRuntimeRepoIf.hpp
Go to the documentation of this file.
1
11
12#ifndef RTCTK_COMPONENTFRAMEWORK_TEST_MOCKRUNTIMEREPOIF_HPP
13#define RTCTK_COMPONENTFRAMEWORK_TEST_MOCKRUNTIMEREPOIF_HPP
14
17
18#include <gmock/gmock.h>
19#include <gtest/gtest.h>
20
22
28class MockRuntimeRepoIf : virtual public RuntimeRepoIf, virtual public FakeRepositorySubscriber {
29public:
30 MOCK_METHOD(void, CreateDataPointRequest, (const DataPointPath&));
31 MOCK_METHOD(void, DeleteDataPointRequest, (const DataPointPath&));
32 MOCK_METHOD(void, GetDataPointTypeRequest, (const DataPointPath&), (const));
33 MOCK_METHOD(void, GetDataPointSizeRequest, (const DataPointPath&), (const));
34 MOCK_METHOD(void, DataPointExistsRequest, (const DataPointPath&), (const));
35 MOCK_METHOD(void, ReceivedReadRequest, (const DataPointPath&), (const));
36 MOCK_METHOD(void, ReceivedWriteRequest, (const DataPointPath&));
37
38 elt::mal::Uri GetUri() const override {
39 return elt::mal::Uri("mock:");
40 }
41
42protected:
43 BatchResponse ProcessRequests(const RequestList& requests) override {
44 for (const auto& request : requests) {
45 if (request.type() == typeid(detail::CreateRequest<std::byte>)) {
46 const auto& req = std::any_cast<const detail::CreateRequest<std::byte>&>(request);
47 CreateDataPointRequest(req.path);
48 } else if (request.type() == typeid(detail::CreateRequest<char>)) {
49 const auto& req = std::any_cast<const detail::CreateRequest<char>&>(request);
50 CreateDataPointRequest(req.path);
51 } else if (request.type() == typeid(detail::CreateRequest<RtcBool>)) {
52 const auto& req = std::any_cast<const detail::CreateRequest<RtcBool>&>(request);
53 CreateDataPointRequest(req.path);
54 } else if (request.type() == typeid(detail::CreateRequest<RtcInt8>)) {
55 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt8>&>(request);
56 CreateDataPointRequest(req.path);
57 } else if (request.type() == typeid(detail::CreateRequest<RtcInt16>)) {
58 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt16>&>(request);
59 CreateDataPointRequest(req.path);
60 } else if (request.type() == typeid(detail::CreateRequest<RtcInt32>)) {
61 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt32>&>(request);
62 CreateDataPointRequest(req.path);
63 } else if (request.type() == typeid(detail::CreateRequest<RtcInt64>)) {
64 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt64>&>(request);
65 CreateDataPointRequest(req.path);
66 } else if (request.type() == typeid(detail::CreateRequest<RtcUInt8>)) {
67 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt8>&>(request);
68 CreateDataPointRequest(req.path);
69 } else if (request.type() == typeid(detail::CreateRequest<RtcUInt16>)) {
70 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt16>&>(request);
71 CreateDataPointRequest(req.path);
72 } else if (request.type() == typeid(detail::CreateRequest<RtcUInt32>)) {
73 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt32>&>(request);
74 CreateDataPointRequest(req.path);
75 } else if (request.type() == typeid(detail::CreateRequest<RtcUInt64>)) {
76 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt64>&>(request);
77 CreateDataPointRequest(req.path);
78 } else if (request.type() == typeid(detail::CreateRequest<RtcFloat>)) {
79 const auto& req = std::any_cast<const detail::CreateRequest<RtcFloat>&>(request);
80 CreateDataPointRequest(req.path);
81 } else if (request.type() == typeid(detail::CreateRequest<RtcDouble>)) {
82 const auto& req = std::any_cast<const detail::CreateRequest<RtcDouble>&>(request);
83 CreateDataPointRequest(req.path);
84 } else if (request.type() == typeid(detail::CreateRequest<RtcString>)) {
85 const auto& req = std::any_cast<const detail::CreateRequest<RtcString>&>(request);
86 CreateDataPointRequest(req.path);
87 } else if (request.type() == typeid(detail::DeleteRequest)) {
88 const auto& req = std::any_cast<const detail::DeleteRequest&>(request);
89 DeleteDataPointRequest(req.path);
90 } else if (request.type() == typeid(detail::ReadMetaDataRequest)) {
91 const auto& req = std::any_cast<const detail::ReadMetaDataRequest&>(request);
92 GetDataPointTypeRequest(req.path);
93 GetDataPointSizeRequest(req.path);
94 } else if (request.type() == typeid(detail::ExistsRequest)) {
95 const auto& req = std::any_cast<const detail::ExistsRequest&>(request);
96 DataPointExistsRequest(req.path);
97 } else if (request.type() == typeid(detail::ReadRequest<std::byte>)) {
98 const auto& req = std::any_cast<const detail::ReadRequest<std::byte>&>(request);
99 ReceivedReadRequest(req.path);
100 } else if (request.type() == typeid(detail::ReadRequest<char>)) {
101 const auto& req = std::any_cast<const detail::ReadRequest<char>&>(request);
102 ReceivedReadRequest(req.path);
103 } else if (request.type() == typeid(detail::ReadRequest<RtcBool>)) {
104 const auto& req = std::any_cast<const detail::ReadRequest<RtcBool>&>(request);
105 ReceivedReadRequest(req.path);
106 } else if (request.type() == typeid(detail::ReadRequest<RtcInt8>)) {
107 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt8>&>(request);
108 ReceivedReadRequest(req.path);
109 } else if (request.type() == typeid(detail::ReadRequest<RtcInt16>)) {
110 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt16>&>(request);
111 ReceivedReadRequest(req.path);
112 } else if (request.type() == typeid(detail::ReadRequest<RtcInt32>)) {
113 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt32>&>(request);
114 ReceivedReadRequest(req.path);
115 } else if (request.type() == typeid(detail::ReadRequest<RtcInt64>)) {
116 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt64>&>(request);
117 ReceivedReadRequest(req.path);
118 } else if (request.type() == typeid(detail::ReadRequest<RtcUInt8>)) {
119 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt8>&>(request);
120 ReceivedReadRequest(req.path);
121 } else if (request.type() == typeid(detail::ReadRequest<RtcUInt16>)) {
122 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt16>&>(request);
123 ReceivedReadRequest(req.path);
124 } else if (request.type() == typeid(detail::ReadRequest<RtcUInt32>)) {
125 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt32>&>(request);
126 ReceivedReadRequest(req.path);
127 } else if (request.type() == typeid(detail::ReadRequest<RtcUInt64>)) {
128 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt64>&>(request);
129 ReceivedReadRequest(req.path);
130 } else if (request.type() == typeid(detail::ReadRequest<RtcFloat>)) {
131 const auto& req = std::any_cast<const detail::ReadRequest<RtcFloat>&>(request);
132 ReceivedReadRequest(req.path);
133 } else if (request.type() == typeid(detail::ReadRequest<RtcDouble>)) {
134 const auto& req = std::any_cast<const detail::ReadRequest<RtcDouble>&>(request);
135 ReceivedReadRequest(req.path);
136 } else if (request.type() == typeid(detail::ReadRequest<RtcString>)) {
137 const auto& req = std::any_cast<const detail::ReadRequest<RtcString>&>(request);
138 ReceivedReadRequest(req.path);
139 } else if (request.type() == typeid(detail::WriteRequest<std::byte>)) {
140 const auto& req = std::any_cast<const detail::WriteRequest<std::byte>&>(request);
141 ReceivedWriteRequest(req.path);
142 } else if (request.type() == typeid(detail::WriteRequest<char>)) {
143 const auto& req = std::any_cast<const detail::WriteRequest<char>&>(request);
144 ReceivedWriteRequest(req.path);
145 } else if (request.type() == typeid(detail::WriteRequest<RtcBool>)) {
146 const auto& req = std::any_cast<const detail::WriteRequest<RtcBool>&>(request);
147 ReceivedWriteRequest(req.path);
148 } else if (request.type() == typeid(detail::WriteRequest<RtcInt8>)) {
149 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt8>&>(request);
150 ReceivedWriteRequest(req.path);
151 } else if (request.type() == typeid(detail::WriteRequest<RtcInt16>)) {
152 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt16>&>(request);
153 ReceivedWriteRequest(req.path);
154 } else if (request.type() == typeid(detail::WriteRequest<RtcInt32>)) {
155 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt32>&>(request);
156 ReceivedWriteRequest(req.path);
157 } else if (request.type() == typeid(detail::WriteRequest<RtcInt64>)) {
158 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt64>&>(request);
159 ReceivedWriteRequest(req.path);
160 } else if (request.type() == typeid(detail::WriteRequest<RtcUInt8>)) {
161 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt8>&>(request);
162 ReceivedWriteRequest(req.path);
163 } else if (request.type() == typeid(detail::WriteRequest<RtcUInt16>)) {
164 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt16>&>(request);
165 ReceivedWriteRequest(req.path);
166 } else if (request.type() == typeid(detail::WriteRequest<RtcUInt32>)) {
167 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt32>&>(request);
168 ReceivedWriteRequest(req.path);
169 } else if (request.type() == typeid(detail::WriteRequest<RtcUInt64>)) {
170 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt64>&>(request);
171 ReceivedWriteRequest(req.path);
172 } else if (request.type() == typeid(detail::WriteRequest<RtcFloat>)) {
173 const auto& req = std::any_cast<const detail::WriteRequest<RtcFloat>&>(request);
174 ReceivedWriteRequest(req.path);
175 } else if (request.type() == typeid(detail::WriteRequest<RtcDouble>)) {
176 const auto& req = std::any_cast<const detail::WriteRequest<RtcDouble>&>(request);
177 ReceivedWriteRequest(req.path);
178 } else if (request.type() == typeid(detail::WriteRequest<RtcString>)) {
179 const auto& req = std::any_cast<const detail::WriteRequest<RtcString>&>(request);
180 ReceivedWriteRequest(req.path);
181 }
182 }
184 }
185};
186
187} // namespace rtctk::componentFramework::test
188
189#endif // RTCTK_COMPONENTFRAMEWORK_TEST_MOCKRUNTIMEREPOIF_HPP
This class provides a wrapper for a data point path.
Definition dataPointPath.hpp:76
virtual BatchResponse ProcessRequests(const RequestList &requests)=0
std::vector< std::any > RequestList
Definition repositoryIf.hpp:52
Base interface for all Runtime Configuration Repository adapters.
Definition runtimeRepoIf.hpp:26
FakeRepositorySubscriber()
Definition fakeRepositorySubscriber.cpp:20
A mock of RuntimeRepoIf.
Definition mockRuntimeRepoIf.hpp:28
elt::mal::Uri GetUri() const override
Get the URI used when creating this adapter object.
Definition mockRuntimeRepoIf.hpp:38
MOCK_METHOD(void, DeleteDataPointRequest,(const DataPointPath &))
BatchResponse ProcessRequests(const RequestList &requests) override
Definition mockRuntimeRepoIf.hpp:43
MOCK_METHOD(void, GetDataPointSizeRequest,(const DataPointPath &),(const))
MOCK_METHOD(void, CreateDataPointRequest,(const DataPointPath &))
MOCK_METHOD(void, ReceivedReadRequest,(const DataPointPath &),(const))
MOCK_METHOD(void, DataPointExistsRequest,(const DataPointPath &),(const))
MOCK_METHOD(void, ReceivedWriteRequest,(const DataPointPath &))
MOCK_METHOD(void, GetDataPointTypeRequest,(const DataPointPath &),(const))
Header file for an in-memory fake RepositorySubscriberIf.
Definition fakeClock.cpp:14
Header file for RuntimeRepoIf, which defines the API for RuntimeRepoAdapters.