diff --git a/tests/Message.cpp b/tests/Message.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7fc23a77760588297436587b573bc1a4cc752ae6 --- /dev/null +++ b/tests/Message.cpp @@ -0,0 +1,43 @@ +#include <catch2/catch.hpp> +#include <Message.hpp> + +TEST_CASE("1: Message is usable", "[message]") { + Message message(5, 17, Message::TC, 3); + + REQUIRE(message.serviceType == 5); + REQUIRE(message.messageType == 17); + REQUIRE(message.packetType == Message::TC); + REQUIRE(message.applicationId == 3); + REQUIRE(message.dataSize == 0); + + message.appendByte(250); + REQUIRE(message.dataSize == 1); + REQUIRE(message.readByte() == 250); +} + +TEST_CASE("2: Bit manipulations", "[message]") { + Message message(0, 0, Message::TC, 0); + + message.appendBits(10, 0x357); + message.appendBits(4, 0xb); + message.appendBits(2, 0); + message.appendByte(248); + message.appendBits(7, 0x16); + message.appendBits(1, 0x1); + message.appendBits(8, 0xff); + + REQUIRE(message.dataSize == 5); + + CHECK(message.readBits(10) == 0x357); + CHECK(message.readBits(4) == 0xb); + CHECK(message.readBits(2) == 0); + CHECK(message.readBits(5) == 0x1f); + CHECK(message.readBits(3) == 0); + CHECK(message.readByte() == 0x2d); + CHECK(message.readByte() == 0xff); + + message.resetRead(); + + CHECK(message.readUint32() == 0xd5ecf82d); + CHECK(message.readBits(8) == 0xff); +} diff --git a/tests/tests.cpp b/tests/tests.cpp new file mode 100644 index 0000000000000000000000000000000000000000..58d828729fe64ff6cebd0a4cb77ca0c377ef82ce --- /dev/null +++ b/tests/tests.cpp @@ -0,0 +1,3 @@ +#define CATCH_CONFIG_MAIN +#include <catch2/catch.hpp> +