aare/network_io/test/ZmqHeader.test.cpp
Bechir Braham 9637d0602f
receive multimodule (#65)
* add config files for multimodule receiving

* read subfiles with unordered and missing frames

* save work debugging

* Revert "save work debugging"

This reverts commit e791992a05efd754f93a80c980d17397eb4b6045.

* Revert "read subfiles with unordered and missing frames"

This reverts commit 1177fd129d3690db92e9597ccda62598e5a44d41.

* throw when two frames have different frame numbers

* write single part RawFile (working beta)

* correct total number of frames in master file

* add new mythen file with syncd frames

* save work

* save work for receive multimodule
multimodule config results in too much packet loss. needs more debugging.

* setup Task Distributiosn/ parallelization programming model

* read frames with same frame number

* clang-tidy fixes, formatting, add tests

* added second receiver

* Synchronize between zmq streams and merge frames

* improve readability in loop

* fix failing tests

* add simple test for merge frames

---------

Co-authored-by: Bechir <bechir.brahem420@gmail.com>
Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
2024-05-07 11:06:37 +02:00

77 lines
2.8 KiB
C++

#include "aare/network_io/ZmqHeader.hpp"
#include "aare/utils/logger.hpp"
#include <catch2/catch_test_macros.hpp>
using namespace aare;
TEST_CASE("Test ZmqHeader") {
ZmqHeader header;
header.shape = {10, 15};
header.data = 1;
header.jsonversion = 5;
header.bitmode = 32;
header.fileIndex = 4;
header.detshape = {5, 6};
header.size = 4800;
header.acqIndex = 8;
header.frameIndex = 9;
header.progress = 0.1;
header.fname = "test";
header.frameNumber = 11;
header.expLength = 12;
header.packetNumber = 13;
header.detSpec1 = 14;
header.timestamp = 15;
header.modId = 16;
header.row = 17;
header.column = 18;
header.detSpec2 = 19;
header.detSpec3 = 20;
header.detSpec4 = 21;
header.detType = 22;
header.version = 23;
header.flipRows = 24;
header.quad = 25;
header.completeImage = 1;
header.addJsonHeader = {{"key1", "value1"}, {"key2", "value2"}};
header.rx_roi = {27, 28, 29, 30};
std::string json_header = "{"
"\"data\": 1, "
"\"jsonversion\": 5, "
"\"bitmode\": 32, "
"\"fileIndex\": 4, "
"\"detshape\": [5, 6], "
"\"shape\": [10, 15], "
"\"size\": 4800, "
"\"acqIndex\": 8, "
"\"frameIndex\": 9, "
"\"progress\": 0.100000, "
"\"fname\": \"test\", "
"\"frameNumber\": 11, "
"\"expLength\": 12, "
"\"packetNumber\": 13, "
"\"detSpec1\": 14, "
"\"timestamp\": 15, "
"\"modId\": 16, "
"\"row\": 17, "
"\"column\": 18, "
"\"detSpec2\": 19, "
"\"detSpec3\": 20, "
"\"detSpec4\": 21, "
"\"detType\": 22, "
"\"version\": 23, "
"\"flipRows\": 24, "
"\"quad\": 25, "
"\"completeImage\": 1, "
"\"addJsonHeader\": {\"key1\": \"value1\", \"key2\": \"value2\"}, "
"\"rx_roi\": [27, 28, 29, 30]"
"}";
SECTION("Test converting ZmqHeader to json string") { REQUIRE(header.to_string() == json_header); }
SECTION("Test converting json string to ZmqHeader") {
ZmqHeader header2;
header2.from_string(json_header);
REQUIRE(header2 == header);
}
}