50 TestFrame tf1(FrameT({0x1100000000000000},
"heartbeatdata", {0x510000000000000e}),
51 FrameT({0x1100000000000001},
"test", {0x5100000000000005}),
52 FrameT({0x1100000000000003},
"dummydata", {0x510000000000000a}));
53 TestFrame tf2(FrameT({0x1100000000000000},
"frame2a", {0x5100000000000008}),
54 FrameT({0x1100000000000002},
"frame2b", {0x5100000000000008}),
55 FrameT({0x1100000000000003},
"frame2c", {0x5100000000000008}));
56 hexDump(
"Test frame 1", tf1.buffer.get(), tf1.size());
57 hexDump(
"Test frame 2", tf2.buffer.get(), tf2.size());
61 typename FrameT::TrailerType>;
68 ViewType heartbeatview;
82 heartbeatview.addRow(dh1, (std::byte*)tf1.buffer.
get(), tf1.
size());
83 heartbeatview.addRow(dh2, (std::byte*)tf2.buffer.
get(), tf2.
size());
85 std::cout <<
"slots: " << heartbeatview.getNRows()
86 <<
" columns: " << heartbeatview.getNColumns()
90 const char* dataset1[] = {
94 const char* dataset2[] = {
100 BOOST_REQUIRE(heartbeatview.getNColumns() == 4);
101 BOOST_REQUIRE(heartbeatview.getNRows() == 2);
102 unsigned requiredNofRowsInColumn[] = {2, 1, 1, 2};
105 unsigned dataset1idx = 0;
106 unsigned dataset2idx = 0;
107 for (
auto columnIt = heartbeatview.begin(),
end = heartbeatview.end();
108 columnIt !=
end; ++columnIt, ++colidx) {
110 std::cout <<
"---------------------------------------" << std::endl;
111 for (
auto row : columnIt) {
112 auto dataset = (rowidx == 1 || colidx == 2) ? dataset2 : dataset1;
113 auto& datasetidx = (rowidx == 1 || colidx == 2) ? dataset2idx : dataset1idx;
118 BOOST_CHECK(rowidx == requiredNofRowsInColumn[colidx]);
128 TestFrame tf1(FrameT({0x1100000000000000},
"heartbeatdata", {0x510000000000000e}),
129 FrameT({0x1100000000000001},
"test", {0x5100000000000004}),
130 FrameT({0x1100000000000003},
"dummydata", {0x510000000000000a}));
134 typename FrameT::TrailerType>;
141 ViewType heartbeatview;
149 heartbeatview.addRow(dh, (std::byte*)tf1.buffer.
get(), tf1.
size());