22 std::vector<std::vector<std::string>> inputs(3);
24 for (
auto&
list : inputs) {
25 int nParts = routeNo != 1 ? 1 : 3;
26 for (
size_t part = 0; part < nParts; ++part) {
33 auto getter = [&inputs](
size_t i,
size_t part) {
34 return DataRef{
nullptr, inputs[
i].at(part * 2).data(), inputs[
i].at(part * 2 + 1).data()};
36 auto nPartsGetter = [&inputs](
size_t i) {
37 return inputs[
i].size() / 2;
41 REQUIRE(span.size() == inputs.size());
43 for (; routeNo < span.size(); ++routeNo) {
44 auto ref = span.get(routeNo);
45 REQUIRE(inputs[routeNo].at(0) ==
ref.header);
46 REQUIRE(inputs[routeNo].at(1) ==
ref.payload);
48 REQUIRE(span.getNofParts(routeNo) == 3);
49 ref = span.get(routeNo, 1);
50 REQUIRE(inputs[routeNo].at(2) ==
ref.header);
51 REQUIRE(inputs[routeNo].at(3) ==
ref.payload);
53 REQUIRE(span.getNofParts(routeNo) == 1);
58 for (
auto it = span.begin(),
end = span.end(); it !=
end; ++it) {
60 REQUIRE(it.size() * 2 == inputs[routeNo].size());
61 for (
auto const&
ref : it) {
62 REQUIRE(inputs[routeNo].at(partNo++) ==
ref.header);
63 REQUIRE(inputs[routeNo].at(partNo++) ==
ref.payload);
64 INFO(
ref.header <<
" " <<
ref.payload);