Add more tests for sf::Packet
This commit is contained in:
parent
12aaa4d08a
commit
28a4a88832
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <doctest/doctest.h>
|
#include <doctest/doctest.h>
|
||||||
|
|
||||||
|
#include <array>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
#define CHECK_PACKET_STREAM_OPERATORS(expected) \
|
#define CHECK_PACKET_STREAM_OPERATORS(expected) \
|
||||||
@ -9,13 +10,54 @@
|
|||||||
{ \
|
{ \
|
||||||
sf::Packet packet; \
|
sf::Packet packet; \
|
||||||
packet << expected; \
|
packet << expected; \
|
||||||
|
CHECK(packet.getReadPosition() == 0); \
|
||||||
|
CHECK(packet.getData() != nullptr); \
|
||||||
|
CHECK(packet.getDataSize() == sizeof(expected)); \
|
||||||
|
CHECK(!packet.endOfPacket()); \
|
||||||
|
CHECK(static_cast<bool>(packet)); \
|
||||||
|
\
|
||||||
decltype(expected) received; \
|
decltype(expected) received; \
|
||||||
packet >> received; \
|
packet >> received; \
|
||||||
|
CHECK(packet.getReadPosition() == sizeof(expected)); \
|
||||||
|
CHECK(packet.getData() != nullptr); \
|
||||||
|
CHECK(packet.getDataSize() == sizeof(expected)); \
|
||||||
|
CHECK(packet.endOfPacket()); \
|
||||||
|
CHECK(static_cast<bool>(packet)); \
|
||||||
CHECK(expected == received); \
|
CHECK(expected == received); \
|
||||||
} while (false)
|
} while (false)
|
||||||
|
|
||||||
TEST_CASE("sf::Packet class - [network]")
|
TEST_CASE("sf::Packet class - [network]")
|
||||||
{
|
{
|
||||||
|
SUBCASE("Default constructor")
|
||||||
|
{
|
||||||
|
const sf::Packet packet;
|
||||||
|
CHECK(packet.getReadPosition() == 0);
|
||||||
|
CHECK(packet.getData() == nullptr);
|
||||||
|
CHECK(packet.getDataSize() == 0);
|
||||||
|
CHECK(packet.endOfPacket());
|
||||||
|
CHECK(static_cast<bool>(packet));
|
||||||
|
}
|
||||||
|
|
||||||
|
SUBCASE("Append and clear")
|
||||||
|
{
|
||||||
|
constexpr std::array data = {1, 2, 3, 4, 5, 6};
|
||||||
|
|
||||||
|
sf::Packet packet;
|
||||||
|
packet.append(data.data(), data.size());
|
||||||
|
CHECK(packet.getReadPosition() == 0);
|
||||||
|
CHECK(packet.getData() != nullptr);
|
||||||
|
CHECK(packet.getDataSize() == data.size());
|
||||||
|
CHECK(!packet.endOfPacket());
|
||||||
|
CHECK(static_cast<bool>(packet));
|
||||||
|
|
||||||
|
packet.clear();
|
||||||
|
CHECK(packet.getReadPosition() == 0);
|
||||||
|
CHECK(packet.getData() == nullptr);
|
||||||
|
CHECK(packet.getDataSize() == 0);
|
||||||
|
CHECK(packet.endOfPacket());
|
||||||
|
CHECK(static_cast<bool>(packet));
|
||||||
|
}
|
||||||
|
|
||||||
SUBCASE("Stream operators")
|
SUBCASE("Stream operators")
|
||||||
{
|
{
|
||||||
SUBCASE("std::int8_t")
|
SUBCASE("std::int8_t")
|
||||||
|
Loading…
Reference in New Issue
Block a user