diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 847d12b..83bcd48 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -39,8 +39,16 @@ target_link_libraries(test-csfml-window PRIVATE csfml-window Catch2::Catch2WithM set_target_warnings(test-csfml-window) catch_discover_tests(test-csfml-window) +add_executable(test-csfml-network + Network/IpAddress.test.cpp +) +target_link_libraries(test-csfml-network PRIVATE csfml-network Catch2::Catch2WithMain) +set_target_warnings(test-csfml-network) +catch_discover_tests(test-csfml-network) + # Copy DLLs into the same directory if(SFML_OS_WINDOWS AND NOT CSFML_LINK_SFML_STATICALLY) - add_custom_command(TARGET test-csfml-system POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ $ COMMAND_EXPAND_LISTS) - add_custom_command(TARGET test-csfml-window POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ $ COMMAND_EXPAND_LISTS) + add_custom_command(TARGET test-csfml-system POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ $ COMMAND_EXPAND_LISTS) + add_custom_command(TARGET test-csfml-window POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ $ COMMAND_EXPAND_LISTS) + add_custom_command(TARGET test-csfml-network POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ $ COMMAND_EXPAND_LISTS) endif() diff --git a/test/Network/IpAddress.test.cpp b/test/Network/IpAddress.test.cpp new file mode 100644 index 0000000..b784ccb --- /dev/null +++ b/test/Network/IpAddress.test.cpp @@ -0,0 +1,36 @@ +#include + +#include + +TEST_CASE("[Network] sfIpAddress") +{ + SECTION("Constants") + { + CHECK(sfIpAddress_toInteger(sfIpAddress_None) == 0); + CHECK(sfIpAddress_toInteger(sfIpAddress_Any) == 0); + CHECK(sfIpAddress_toInteger(sfIpAddress_LocalHost) == 0x7F000001); + CHECK(sfIpAddress_toInteger(sfIpAddress_Broadcast) == 0xFFFFFFFF); + } + + SECTION("sfIpAddress_fromString") + { + CHECK(sfIpAddress_toInteger(sfIpAddress_fromString("")) == 0); + CHECK(sfIpAddress_toInteger(sfIpAddress_fromString("invalid address")) == 0); + CHECK(sfIpAddress_toInteger(sfIpAddress_fromString("192.168.0.1")) == 0xC0A80001); + CHECK(sfIpAddress_toInteger(sfIpAddress_fromString("8.8.8.8")) == 0x08080808); + } + + SECTION("sfIpAddress_fromBytes") + { + CHECK(sfIpAddress_toInteger(sfIpAddress_fromBytes(0, 0, 0, 0)) == 0); + CHECK(sfIpAddress_toInteger(sfIpAddress_fromBytes(192, 168, 0, 1)) == 0xC0A80001); + CHECK(sfIpAddress_toInteger(sfIpAddress_fromBytes(8, 8, 8, 8)) == 0x08080808); + } + + SECTION("sfIpAddress_fromInteger") + { + CHECK(sfIpAddress_toInteger(sfIpAddress_fromInteger(0)) == 0); + CHECK(sfIpAddress_toInteger(sfIpAddress_fromInteger(0xC0A80001)) == 0xC0A80001); + CHECK(sfIpAddress_toInteger(sfIpAddress_fromInteger(0x08080808)) == 0x08080808); + } +}