SFML/test/Network/Packet.cpp

54 lines
1.9 KiB
C++
Raw Normal View History

2022-09-04 07:47:37 +08:00
#include <SFML/Network/Packet.hpp>
2022-07-18 06:18:40 +08:00
#include <doctest/doctest.h>
2022-07-05 00:20:58 +08:00
#include <limits>
#define CHECK_PACKET_STREAM_OPERATORS(expected) \
do \
{ \
sf::Packet packet; \
packet << expected; \
decltype(expected) received; \
packet >> received; \
CHECK(expected == received); \
} while (false)
2021-12-24 21:31:27 +08:00
TEST_CASE("sf::Packet class - [network]")
{
2021-12-24 21:31:27 +08:00
SUBCASE("Stream operators")
{
2022-09-04 03:58:02 +08:00
SUBCASE("std::int8_t")
{
CHECK_PACKET_STREAM_OPERATORS(std::int8_t(0));
CHECK_PACKET_STREAM_OPERATORS(std::int8_t(1));
CHECK_PACKET_STREAM_OPERATORS(std::numeric_limits<std::int8_t>::min());
CHECK_PACKET_STREAM_OPERATORS(std::numeric_limits<std::int8_t>::max());
}
SUBCASE("std::int16_t")
{
CHECK_PACKET_STREAM_OPERATORS(std::int16_t(0));
CHECK_PACKET_STREAM_OPERATORS(std::int16_t(1));
CHECK_PACKET_STREAM_OPERATORS(std::numeric_limits<std::int16_t>::min());
CHECK_PACKET_STREAM_OPERATORS(std::numeric_limits<std::int16_t>::max());
}
SUBCASE("std::int32_t")
{
CHECK_PACKET_STREAM_OPERATORS(std::int32_t(0));
CHECK_PACKET_STREAM_OPERATORS(std::int32_t(1));
CHECK_PACKET_STREAM_OPERATORS(std::numeric_limits<std::int32_t>::min());
CHECK_PACKET_STREAM_OPERATORS(std::numeric_limits<std::int32_t>::max());
}
SUBCASE("std::int64_t")
{
CHECK_PACKET_STREAM_OPERATORS(std::int64_t(0));
CHECK_PACKET_STREAM_OPERATORS(std::int64_t(1));
CHECK_PACKET_STREAM_OPERATORS(std::numeric_limits<std::int64_t>::min());
CHECK_PACKET_STREAM_OPERATORS(std::numeric_limits<std::int64_t>::max());
}
}
}