13#ifndef RTCTK_COMPONENTFRAMEWORK_TEST_MOCKREPOSITORY_HPP
14#define RTCTK_COMPONENTFRAMEWORK_TEST_MOCKREPOSITORY_HPP
18#include <gmock/gmock.h>
19#include <gtest/gtest.h>
33 .WillByDefault([
this](
const DataPointPath& path,
const std::type_info& type) {
40 .WillByDefault([
this](
const DataPointPath& path) ->
const std::type_info& {
88 const auto& req = std::any_cast<const detail::CreateRequest<std::byte>&>(
request);
91 const auto& req = std::any_cast<const detail::CreateRequest<char>&>(
request);
94 const auto& req = std::any_cast<const detail::CreateRequest<RtcBool>&>(
request);
97 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt8>&>(
request);
100 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt16>&>(
request);
103 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt32>&>(
request);
106 const auto& req = std::any_cast<const detail::CreateRequest<RtcInt64>&>(
request);
109 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt8>&>(
request);
112 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt16>&>(
request);
115 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt32>&>(
request);
118 const auto& req = std::any_cast<const detail::CreateRequest<RtcUInt64>&>(
request);
121 const auto& req = std::any_cast<const detail::CreateRequest<RtcFloat>&>(
request);
124 const auto& req = std::any_cast<const detail::CreateRequest<RtcDouble>&>(
request);
127 const auto& req = std::any_cast<const detail::CreateRequest<RtcString>&>(
request);
130 const auto& req = std::any_cast<const detail::DeleteRequest&>(
request);
133 const auto& req = std::any_cast<const detail::ReadMetaDataRequest&>(
request);
137 const auto& req = std::any_cast<const detail::ExistsRequest&>(
request);
140 const auto& req = std::any_cast<const detail::ReadRequest<std::byte>&>(
request);
143 const auto& req = std::any_cast<const detail::ReadRequest<char>&>(
request);
146 const auto& req = std::any_cast<const detail::ReadRequest<RtcBool>&>(
request);
149 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt8>&>(
request);
152 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt16>&>(
request);
155 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt32>&>(
request);
158 const auto& req = std::any_cast<const detail::ReadRequest<RtcInt64>&>(
request);
161 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt8>&>(
request);
164 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt16>&>(
request);
167 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt32>&>(
request);
170 const auto& req = std::any_cast<const detail::ReadRequest<RtcUInt64>&>(
request);
173 const auto& req = std::any_cast<const detail::ReadRequest<RtcFloat>&>(
request);
176 const auto& req = std::any_cast<const detail::ReadRequest<RtcDouble>&>(
request);
179 const auto& req = std::any_cast<const detail::ReadRequest<RtcString>&>(
request);
182 const auto& req = std::any_cast<const detail::WriteRequest<std::byte>&>(
request);
185 const auto& req = std::any_cast<const detail::WriteRequest<char>&>(
request);
188 const auto& req = std::any_cast<const detail::WriteRequest<RtcBool>&>(
request);
191 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt8>&>(
request);
194 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt16>&>(
request);
197 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt32>&>(
request);
200 const auto& req = std::any_cast<const detail::WriteRequest<RtcInt64>&>(
request);
203 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt8>&>(
request);
206 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt16>&>(
request);
209 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt32>&>(
request);
212 const auto& req = std::any_cast<const detail::WriteRequest<RtcUInt64>&>(
request);
215 const auto& req = std::any_cast<const detail::WriteRequest<RtcFloat>&>(
request);
218 const auto& req = std::any_cast<const detail::WriteRequest<RtcDouble>&>(
request);
221 const auto& req = std::any_cast<const detail::WriteRequest<RtcString>&>(
request);
This class provides a wrapper for a data point path.
Definition dataPointPath.hpp:74
Definition repositoryIf.hpp:920
A request object to pass information about datapoints that should be read from the repository.
Definition repositoryIf.hpp:1206
An object used to wait for a request to complete.
Definition repositoryIf.hpp:1354
A request object to pass information about datapoints that should be written to the repository.
Definition repositoryIf.hpp:1279
virtual bool DataPointExistsLegacy(const DataPointPath &path) const
Checks for the existence of a datapoint in the repository.
Definition repositoryIf.cpp:719
virtual Response SendReadRequest(const ReadRequest &request) const
Sends a request to read data from the repository.
Definition repositoryIf.cpp:773
void CreateDataPoint(const DataPointPath &path)
Creates a new datapoint in the repository.
Definition repositoryIf.ipp:1696
virtual const std::type_info & GetDataPointTypeLegacy(const DataPointPath &path) const
Fetches the type of the datapoint.
Definition repositoryIf.cpp:711
virtual size_t GetDataPointSizeLegacy(const DataPointPath &path) const
Fetches the size of the datapoint's data.
Definition repositoryIf.cpp:715
virtual void DeleteDataPointLegacy(const DataPointPath &path)
Deletes a datapoint.
Definition repositoryIf.cpp:707
std::vector< std::any > RequestList
Definition repositoryIf.hpp:106
virtual std::pair< PathList, PathList > GetChildrenLegacy(const DataPointPath &path) const
Queries the datapoints and child paths for a given path.
Definition repositoryIf.cpp:724
virtual Response SendWriteRequest(const WriteRequest &request)
Sends a request to write data to the repository.
Definition repositoryIf.cpp:850
Implementation of an in-memory fake repository for testing.
Definition fakeRepository.hpp:26
BatchResponse ProcessRequests(const RequestList &requests) override
Definition fakeRepository.cpp:445
A GoogleTest mock of RepositoryIf.
Definition mockRepository.hpp:28
MOCK_METHOD(void, CreateDataPoint,(const DataPointPath &, const std::type_info &),(override))
MOCK_METHOD(void, GetDataPointSizeRequest,(const DataPointPath &),(const))
MOCK_METHOD(void, DataPointExistsRequest,(const DataPointPath &),(const))
MOCK_METHOD(void, DeleteDataPointRequest,(const DataPointPath &))
void CreateDataPoint(const DataPointPath &path)
Creates a new datapoint in the repository.
Definition repositoryIf.ipp:1696
BatchResponse ProcessRequests(const RequestList &requests) override
Definition mockRepository.hpp:85
MOCK_METHOD(Response, SendReadRequest,(const ReadRequest &),(const override))
MOCK_METHOD(void, DeleteDataPointLegacy,(const DataPointPath &),(override))
MOCK_METHOD(std::size_t, GetDataPointSizeLegacy,(const DataPointPath &),(const override))
MOCK_METHOD(Response, SendWriteRequest,(const WriteRequest &),(override))
MOCK_METHOD(void, CreateDataPointRequest,(const DataPointPath &))
MOCK_METHOD(void, ReceivedWriteRequest,(const DataPointPath &))
MOCK_METHOD(void, GetDataPointTypeRequest,(const DataPointPath &),(const))
MOCK_METHOD(const std::type_info &, GetDataPointTypeLegacy,(const DataPointPath &),(const override))
MOCK_METHOD((std::pair< PathList, PathList >), GetChildrenLegacy,(const DataPointPath &),(const override))
MockRepository()
Definition mockRepository.hpp:30
MOCK_METHOD(bool, DataPointExistsLegacy,(const DataPointPath &),(const override))
MOCK_METHOD(void, ReceivedReadRequest,(const DataPointPath &),(const))
Header file for an in-memory fake RepositoryIf.
Definition fakeClock.cpp:15
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Definition repositoryIf.ipp:36
Definition repositoryIf.ipp:44
Definition repositoryIf.ipp:49
Definition repositoryIf.ipp:63
Definition repositoryIf.ipp:77