SFML/test/Network/UdpSocket.test.cpp

39 lines
1.1 KiB
C++
Raw Normal View History

#include <SFML/Network/UdpSocket.hpp>
2023-08-27 13:33:08 +08:00
#include <catch2/catch_test_macros.hpp>
#include <type_traits>
2023-08-27 13:33:08 +08:00
TEST_CASE("[Network] sf::UdpSocket")
{
SECTION("Type traits")
{
STATIC_CHECK(!std::is_copy_constructible_v<sf::UdpSocket>);
STATIC_CHECK(!std::is_copy_assignable_v<sf::UdpSocket>);
STATIC_CHECK(std::is_nothrow_move_constructible_v<sf::UdpSocket>);
STATIC_CHECK(std::is_nothrow_move_assignable_v<sf::UdpSocket>);
}
SECTION("Constants")
{
STATIC_CHECK(sf::UdpSocket::MaxDatagramSize == 65507);
}
SECTION("Construction")
{
const sf::UdpSocket udpSocket;
CHECK(udpSocket.getLocalPort() == 0);
}
SECTION("bind()/unbind()")
{
sf::UdpSocket udpSocket;
CHECK(udpSocket.bind(sf::Socket::AnyPort, sf::IpAddress::Broadcast) == sf::Socket::Status::Error);
CHECK(udpSocket.bind(sf::Socket::AnyPort) == sf::Socket::Status::Done);
CHECK(udpSocket.getLocalPort() != 0);
udpSocket.unbind();
CHECK(udpSocket.getLocalPort() == 0);
}
}