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