Skip to content

Commit e46663c

Browse files
committed
Add tests for sfRect
1 parent e7a41e8 commit e46663c

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

test/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ target_link_libraries(test-csfml-window PRIVATE csfml-window Catch2::Catch2WithM
4444
set_target_warnings(test-csfml-window)
4545
catch_discover_tests(test-csfml-window)
4646

47+
add_executable(test-csfml-graphics
48+
Graphics/Rect.test.cpp
49+
)
50+
target_link_libraries(test-csfml-graphics PRIVATE csfml-graphics Catch2::Catch2WithMain)
51+
set_target_warnings(test-csfml-graphics)
52+
catch_discover_tests(test-csfml-graphics)
53+
4754
add_executable(test-csfml-network
4855
Network/Ftp.test.cpp
4956
Network/Http.test.cpp

test/Graphics/Rect.test.cpp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#include <CSFML/Graphics/Rect.h>
2+
3+
#include <catch2/catch_test_macros.hpp>
4+
5+
TEST_CASE("[Graphics] sfRect")
6+
{
7+
SECTION("Construction")
8+
{
9+
SECTION("float")
10+
{
11+
const sfFloatRect rect{};
12+
CHECK(rect.position.x == 0.f);
13+
CHECK(rect.position.y == 0.f);
14+
CHECK(rect.size.x == 0.f);
15+
CHECK(rect.size.y == 0.f);
16+
}
17+
18+
SECTION("int")
19+
{
20+
const sfFloatRect rect{};
21+
CHECK(rect.position.x == 0);
22+
CHECK(rect.position.y == 0);
23+
CHECK(rect.size.x == 0);
24+
CHECK(rect.size.y == 0);
25+
}
26+
}
27+
28+
SECTION("contains(Vector2)")
29+
{
30+
SECTION("float")
31+
{
32+
const sfFloatRect rect{{0, 0}, {10, 10}};
33+
CHECK(sfFloatRect_contains(&rect, {0, 0}));
34+
CHECK(sfFloatRect_contains(&rect, {9, 0}));
35+
CHECK(sfFloatRect_contains(&rect, {0, 9}));
36+
CHECK(sfFloatRect_contains(&rect, {9, 9}));
37+
CHECK(!sfFloatRect_contains(&rect, {9, 10}));
38+
CHECK(!sfFloatRect_contains(&rect, {10, 9}));
39+
CHECK(!sfFloatRect_contains(&rect, {10, 10}));
40+
CHECK(!sfFloatRect_contains(&rect, {15, 15}));
41+
}
42+
43+
SECTION("int")
44+
{
45+
const sfIntRect rect{{0, 0}, {10, 10}};
46+
CHECK(sfIntRect_contains(&rect, {0, 0}));
47+
CHECK(sfIntRect_contains(&rect, {9, 0}));
48+
CHECK(sfIntRect_contains(&rect, {0, 9}));
49+
CHECK(sfIntRect_contains(&rect, {9, 9}));
50+
CHECK(!sfIntRect_contains(&rect, {9, 10}));
51+
CHECK(!sfIntRect_contains(&rect, {10, 9}));
52+
CHECK(!sfIntRect_contains(&rect, {10, 10}));
53+
CHECK(!sfIntRect_contains(&rect, {15, 15}));
54+
}
55+
}
56+
}

0 commit comments

Comments
 (0)