2019-04-03 18:11:48 +02:00

69 lines
2.0 KiB
C++

#include "GeneralData.h"
#include "catch.hpp"
#include <iostream>
// using namespace sls;
TEST_CASE("Parse jungfrauctb header", "[receiver]") {
// typedef struct {
// unsigned char emptyHeader[6];
// unsigned char reserved[4];
// unsigned char packetNumber[1];
// unsigned char frameNumber[3];
// unsigned char bunchid[8];
// } jfrauctb_packet_header_t;
struct packet {
unsigned char emptyHeader[6];
unsigned char reserved[4];
unsigned char packetNumber[1];
unsigned char frameNumber[3];
unsigned char bunchid[8];
unsigned char data[1024];
};
MoenchData data;
// GetHeaderInfo(int index, char *packetData, uint32_t dynamicRange,
// bool oddStartingPacket, uint64_t &frameNumber,
// uint32_t &packetNumber, uint32_t &subFrameNumber,
// uint64_t &bunchId)
packet test_packet;
test_packet.packetNumber[0] = (unsigned char)53;
test_packet.frameNumber[0] = (unsigned char)32;
test_packet.frameNumber[1] = (unsigned char)15;
test_packet.frameNumber[2] = (unsigned char)91;
test_packet.bunchid[0] = (unsigned char)91;
test_packet.bunchid[1] = (unsigned char)25;
test_packet.bunchid[2] = (unsigned char)15;
test_packet.bunchid[3] = (unsigned char)1;
test_packet.bunchid[4] = (unsigned char)32;
test_packet.bunchid[5] = (unsigned char)251;
test_packet.bunchid[6] = (unsigned char)18;
test_packet.bunchid[7] = (unsigned char)240;
int index = 0;
char *packetData = reinterpret_cast<char *>(&test_packet);
uint32_t dynamicRange{0};
bool oddStartingPacket{0};
uint64_t frameNumber{0};
uint32_t packetNumber{0};
uint32_t subFrameNumber{0};
uint64_t bunchId{0};
data.GetHeaderInfo(index, packetData, dynamicRange, oddStartingPacket,
frameNumber, packetNumber, subFrameNumber, bunchId);
CHECK(packetNumber == 53);
CHECK(frameNumber == 0x5b0f20);
CHECK(bunchId == 0xf012fb20010f195b);
}