100 BOOST_TEST(catalogue.getNumberOfRegisters() == 3);
102 auto info = catalogue.getRegister(
"/some/register/name");
104 BOOST_TEST(info.getRegisterName() ==
"/some/register/name");
105 BOOST_TEST(info.getNumberOfElements() == 42);
106 BOOST_TEST(info.getNumberOfChannels() == 3);
107 BOOST_TEST(info.getNumberOfDimensions() == 2);
108 BOOST_TEST(info.getDataDescriptor().fundamentalType() == DataDescriptor::FundamentalType::numeric);
109 BOOST_TEST(info.getDataDescriptor().isSigned() ==
false);
110 BOOST_TEST(info.getDataDescriptor().isIntegral() ==
false);
111 BOOST_TEST(info.getDataDescriptor().nDigits() == 8);
112 BOOST_TEST(info.getDataDescriptor().nFractionalDigits() == 3);
114 BOOST_TEST(info.getDataDescriptor().rawDataType().isNumeric());
115 BOOST_TEST(info.getDataDescriptor().rawDataType().isIntegral());
116 BOOST_TEST(info.getDataDescriptor().rawDataType().isSigned());
117 BOOST_TEST(info.isReadable() ==
true);
118 BOOST_TEST(info.isWriteable() ==
false);
119 BOOST_TEST(info.getSupportedAccessModes().has(AccessMode::raw) ==
true);
120 BOOST_TEST(info.getSupportedAccessModes().has(AccessMode::wait_for_new_data) ==
false);
122 auto& theImpl = info.getImpl();
124 BOOST_TEST(theImpl_casted !=
nullptr);
125 BOOST_TEST(theImpl_casted != &generator.
theInfo);
127 info = catalogue.getRegister(
"/some/other/name");
128 BOOST_TEST(info.getRegisterName() ==
"/some/other/name");
129 BOOST_TEST(info.getNumberOfElements() == 1);
130 BOOST_TEST(info.getNumberOfChannels() == 1);
131 BOOST_TEST(info.getNumberOfDimensions() == 0);
132 BOOST_TEST(info.getDataDescriptor().fundamentalType() == DataDescriptor::FundamentalType::numeric);
133 BOOST_TEST(info.getDataDescriptor().isSigned() ==
false);
134 BOOST_TEST(info.getDataDescriptor().isIntegral() ==
true);
135 BOOST_TEST(info.getDataDescriptor().nDigits() == 12);
136 BOOST_TEST(info.getDataDescriptor().rawDataType() ==
DataType::none);
137 BOOST_TEST(info.getDataDescriptor().rawDataType().isNumeric() ==
false);
138 BOOST_TEST(info.getDataDescriptor().rawDataType().isIntegral() ==
false);
139 BOOST_TEST(info.getDataDescriptor().rawDataType().isSigned() ==
false);
140 BOOST_TEST(info.isReadable() ==
true);
141 BOOST_TEST(info.isWriteable() ==
true);
142 BOOST_TEST(info.getSupportedAccessModes().has(AccessMode::raw) ==
true);
143 BOOST_TEST(info.getSupportedAccessModes().has(AccessMode::wait_for_new_data) ==
true);
145 info = catalogue.getRegister(
"/justAName");
146 BOOST_TEST(info.getRegisterName() ==
"/justAName");
147 BOOST_TEST(info.getNumberOfElements() == 1);
148 BOOST_TEST(info.getNumberOfChannels() == 1);
149 BOOST_TEST(info.getNumberOfDimensions() == 0);
150 BOOST_TEST(info.getDataDescriptor().fundamentalType() == DataDescriptor::FundamentalType::string);
151 BOOST_TEST(info.getDataDescriptor().rawDataType() ==
DataType::none);
152 BOOST_TEST(info.getDataDescriptor().rawDataType().isNumeric() ==
false);
153 BOOST_TEST(info.getDataDescriptor().rawDataType().isIntegral() ==
false);
154 BOOST_TEST(info.getDataDescriptor().rawDataType().isSigned() ==
false);
155 BOOST_TEST(info.isReadable() ==
false);
156 BOOST_TEST(info.isWriteable() ==
false);
157 BOOST_TEST(info.getSupportedAccessModes().has(AccessMode::raw) ==
false);
158 BOOST_TEST(info.getSupportedAccessModes().has(AccessMode::wait_for_new_data) ==
false);
167 std::unique_ptr<BackendRegisterCatalogue<myRegisterInfo>> cat_copy(
169 BOOST_TEST(cat_copy->getNumberOfRegisters() == 3);
172 catalogue.getBackendRegister(
"/some/register/name") == cat_copy->getBackendRegister(
"/some/register/name"));
173 BOOST_CHECK(catalogue.getBackendRegister(
"/some/other/name") == cat_copy->getBackendRegister(
"/some/other/name"));
174 BOOST_CHECK(catalogue.getBackendRegister(
"/justAName") == cat_copy->getBackendRegister(
"/justAName"));
176 std::vector<myRegisterInfo> seenObjects;
177 for(
auto& i : *cat_copy) {
178 seenObjects.push_back(i);
181 BOOST_TEST(seenObjects.size() == 3);
182 BOOST_CHECK(seenObjects[0] == generator.
theInfo);
183 BOOST_CHECK(seenObjects[1] == generator.
theInfo2);
184 BOOST_CHECK(seenObjects[2] == generator.
theInfo3);
myRegisterInfo(std::string path, unsigned int nbOfElements, unsigned int nbOfChannels, unsigned int nbOfDimensions, DataDescriptor dataDescriptor, bool readable, bool writeable, AccessModeFlags supportedFlags, bool hidden=false)