extended serialize if further
This commit is contained in:
@ -36,18 +36,23 @@ TEST_CASE("CCSDS Low Level", "[ccsds-ll]") {
|
||||
TEST_CASE("CCSDS Packet ID", "[ccsds-packet-id]") {
|
||||
PacketId packetId;
|
||||
std::array<uint8_t, 3> buf{};
|
||||
size_t serLen = 0;
|
||||
uint8_t* ptr = buf.data();
|
||||
SECTION("Basic") {
|
||||
packetId.apid = 0x1ff;
|
||||
packetId.secHeaderFlag = false;
|
||||
packetId.packetType = ccsds::PacketType::TM;
|
||||
REQUIRE(packetId.raw() == 0x1ff);
|
||||
REQUIRE(packetId.serialize(buf.data(), buf.size(), SerializeIF::Endianness::NETWORK) ==
|
||||
REQUIRE(packetId.SerializeIF::serialize(buf.data(), buf.size(), SerializeIF::Endianness::NETWORK) ==
|
||||
HasReturnvaluesIF::RETURN_OK);
|
||||
REQUIRE(buf[0] == 0x1);
|
||||
REQUIRE(buf[1] == 0xff);
|
||||
}
|
||||
|
||||
SECTION("From Raw") {
|
||||
auto newId = PacketId(ccsds::PacketType::TC, true, 0x2ff);
|
||||
uint16_t rawId = newId.raw();
|
||||
REQUIRE(rawId == 0x1aff);
|
||||
REQUIRE(PacketId::fromRaw(rawId) == newId);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("CCSDS Packet Seq Ctrl", "[ccsds-packet-seq-ctrl]") {}
|
||||
|
@ -40,7 +40,7 @@ TEST_CASE("CCSDS Creator", "[ccsds-creator]") {
|
||||
}
|
||||
|
||||
SECTION("Raw Output") {
|
||||
REQUIRE(base.serialize(&bufPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
|
||||
REQUIRE(base.serializeNe(&bufPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
|
||||
// TC, and secondary header flag is set -> 0b0001100 -> 0x18
|
||||
REQUIRE(buf[0] == 0x18);
|
||||
// APID 0x02
|
||||
@ -62,7 +62,7 @@ TEST_CASE("CCSDS Creator", "[ccsds-creator]") {
|
||||
base.setSeqFlags(ccsds::SequenceFlags::UNSEGMENTED);
|
||||
base.setDataLen(static_cast<int>(std::pow(2, 16)) - 1);
|
||||
REQUIRE(base.isValid());
|
||||
REQUIRE(base.serialize(&bufPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
|
||||
REQUIRE(base.serializeNe(&bufPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_OK);
|
||||
REQUIRE(buf[0] == 0x1F);
|
||||
REQUIRE(buf[1] == 0xFF);
|
||||
REQUIRE(buf[2] == 0xFF);
|
||||
@ -75,28 +75,28 @@ TEST_CASE("CCSDS Creator", "[ccsds-creator]") {
|
||||
SpacePacketCreator invalid = SpacePacketCreator(
|
||||
ccsds::PacketType::TC, true, 0xFFFF, ccsds::SequenceFlags::FIRST_SEGMENT, 0x34, 0x16);
|
||||
REQUIRE(not invalid.isValid());
|
||||
REQUIRE(invalid.serialize(&bufPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_FAILED);
|
||||
REQUIRE(invalid.serializeNe(&bufPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_FAILED);
|
||||
}
|
||||
|
||||
SECTION("Invalid Seq Count") {
|
||||
SpacePacketCreator invalid = SpacePacketCreator(
|
||||
ccsds::PacketType::TC, true, 0x02, ccsds::SequenceFlags::FIRST_SEGMENT, 0xFFFF, 0x16);
|
||||
REQUIRE(not invalid.isValid());
|
||||
REQUIRE(invalid.serialize(&bufPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_FAILED);
|
||||
REQUIRE(invalid.serializeNe(&bufPtr, &serLen, buf.size()) == HasReturnvaluesIF::RETURN_FAILED);
|
||||
}
|
||||
|
||||
SECTION("Invalid Buf Size 1") {
|
||||
serLen = 2;
|
||||
REQUIRE(base.serialize(&bufPtr, &serLen, buf.size()) == SerializeIF::BUFFER_TOO_SHORT);
|
||||
REQUIRE(base.serializeNe(&bufPtr, &serLen, buf.size()) == SerializeIF::BUFFER_TOO_SHORT);
|
||||
}
|
||||
|
||||
SECTION("Invalid Buf Size 2") {
|
||||
serLen = 4;
|
||||
REQUIRE(base.serialize(&bufPtr, &serLen, buf.size()) == SerializeIF::BUFFER_TOO_SHORT);
|
||||
REQUIRE(base.serializeNe(&bufPtr, &serLen, buf.size()) == SerializeIF::BUFFER_TOO_SHORT);
|
||||
}
|
||||
|
||||
SECTION("Invalid Buf Size 3") {
|
||||
serLen = 6;
|
||||
REQUIRE(base.serialize(&bufPtr, &serLen, buf.size()) == SerializeIF::BUFFER_TOO_SHORT);
|
||||
REQUIRE(base.serializeNe(&bufPtr, &serLen, buf.size()) == SerializeIF::BUFFER_TOO_SHORT);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user