Implement additional tests

This commit is contained in:
2018-07-05 16:55:44 +02:00
parent 8424492b33
commit 88e7c9a79f
+35
View File
@@ -1,6 +1,7 @@
#include "../src/ZmqReceiver.hpp"
using namespace std;
namespace pt = boost::property_tree;
TEST(ZmqReceiver, get_type_byte_size)
{
@@ -24,4 +25,38 @@ TEST(ZmqReceiver, HeaderDataType)
ASSERT_TRUE(header_data_type.value_bytes_size == 8);
ASSERT_TRUE(header_data_type.value_shape == 4);
ASSERT_TRUE(header_data_type.endianness == "little");
}
TEST(ZmqReceiver, get_value_from_json)
{
pt::ptree json_header;
uint64_t frame_number = 1234567890;
json_header.add("frame_number", frame_number);
HeaderDataType header_data_type_scalar("uint64", 1);
auto scalar_buffer = get_value_from_json(json_header, "frame_number", header_data_type_scalar);
auto scalar_value = reinterpret_cast<uint64_t*>(scalar_buffer.get());
ASSERT_TRUE(*scalar_value == frame_number);
int32_t modules_number[] = {-345, 1234567, -2323456};
pt::ptree modulus_number_child;
for (int i=0; i<3; i++) {
pt::ptree value;
value.put("", modules_number[i]);
modulus_number_child.push_back(make_pair("", value));
}
json_header.add_child("modules_number", modulus_number_child);
HeaderDataType header_data_type_array("int32", 3);
auto array_buffer = get_value_from_json(json_header, "modules_number", header_data_type_array);
auto array_values = reinterpret_cast<uint64_t*>(array_buffer.get());
for (int i=0; i<3; i++) {
ASSERT_TRUE(array_values[i] == modules_number[i]);
}
}