mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-24 13:53:36 +02:00
Add tests for sfView
This commit is contained in:
1 parent
b0b4d253d2
commit
112abc1ab7
2 files changed
+158
No files matched your search
@@ -53,6 +53,7 @@ add_executable(test-csfml-graphics
|
||||
Graphics/StencilMode.test.cpp
|
||||
Graphics/Transform.test.cpp
|
||||
Graphics/VertexArray.test.cpp
|
||||
Graphics/View.test.cpp
|
||||
)
|
||||
target_link_libraries(test-csfml-graphics PRIVATE csfml-graphics Catch2::Catch2WithMain SFML::Graphics)
|
||||
set_target_warnings(test-csfml-graphics)
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
#include <CSFML/Graphics/View.h>
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
TEST_CASE("[Graphics] sfView")
|
||||
{
|
||||
SECTION("sfView_create")
|
||||
{
|
||||
const sfView* view = sfView_create();
|
||||
const sfVector2f center = sfView_getCenter(view);
|
||||
CHECK(center.x == 500);
|
||||
CHECK(center.y == 500);
|
||||
const sfVector2f size = sfView_getSize(view);
|
||||
CHECK(size.x == 1000);
|
||||
CHECK(size.y == 1000);
|
||||
CHECK(sfView_getRotation(view) == 0);
|
||||
const sfFloatRect viewport = sfView_getViewport(view);
|
||||
CHECK(viewport.position.x == 0);
|
||||
CHECK(viewport.position.y == 0);
|
||||
CHECK(viewport.size.x == 1);
|
||||
CHECK(viewport.size.y == 1);
|
||||
const sfFloatRect scissor = sfView_getScissor(view);
|
||||
CHECK(scissor.position.x == 0);
|
||||
CHECK(scissor.position.y == 0);
|
||||
CHECK(scissor.size.x == 1);
|
||||
CHECK(scissor.size.y == 1);
|
||||
sfView_destroy(view);
|
||||
}
|
||||
|
||||
SECTION("sfView_createFromRect")
|
||||
{
|
||||
const sfView* view = sfView_createFromRect({{50, 100}, {240, 360}});
|
||||
const sfVector2f center = sfView_getCenter(view);
|
||||
CHECK(center.x == 170);
|
||||
CHECK(center.y == 280);
|
||||
const sfVector2f size = sfView_getSize(view);
|
||||
CHECK(size.x == 240);
|
||||
CHECK(size.y == 360);
|
||||
CHECK(sfView_getRotation(view) == 0);
|
||||
const sfFloatRect viewport = sfView_getViewport(view);
|
||||
CHECK(viewport.position.x == 0);
|
||||
CHECK(viewport.position.y == 0);
|
||||
CHECK(viewport.size.x == 1);
|
||||
CHECK(viewport.size.y == 1);
|
||||
const sfFloatRect scissor = sfView_getScissor(view);
|
||||
CHECK(scissor.position.x == 0);
|
||||
CHECK(scissor.position.y == 0);
|
||||
CHECK(scissor.size.x == 1);
|
||||
CHECK(scissor.size.y == 1);
|
||||
sfView_destroy(view);
|
||||
}
|
||||
|
||||
SECTION("sfView_copy")
|
||||
{
|
||||
sfView* view1 = sfView_createFromRect({{50, 100}, {240, 360}});
|
||||
sfView_setViewport(view1, {{25, 40}, {100, 200}});
|
||||
sfView_setScissor(view1, {{0.75f, 0.25f}, {0, 0.5f}});
|
||||
const sfView* view2 = sfView_copy(view1);
|
||||
const sfVector2f center = sfView_getCenter(view2);
|
||||
CHECK(center.x == 170);
|
||||
CHECK(center.y == 280);
|
||||
const sfVector2f size = sfView_getSize(view2);
|
||||
CHECK(size.x == 240);
|
||||
CHECK(size.y == 360);
|
||||
CHECK(sfView_getRotation(view2) == 0);
|
||||
const sfFloatRect viewport = sfView_getViewport(view2);
|
||||
CHECK(viewport.position.x == 25);
|
||||
CHECK(viewport.position.y == 40);
|
||||
CHECK(viewport.size.x == 100);
|
||||
CHECK(viewport.size.y == 200);
|
||||
const sfFloatRect scissor = sfView_getScissor(view2);
|
||||
CHECK(scissor.position.x == 0.75f);
|
||||
CHECK(scissor.position.y == 0.25f);
|
||||
CHECK(scissor.size.x == 0);
|
||||
CHECK(scissor.size.y == 0.5f);
|
||||
sfView_destroy(view2);
|
||||
sfView_destroy(view1);
|
||||
}
|
||||
|
||||
SECTION("sfView_setCenter")
|
||||
{
|
||||
sfView* view = sfView_create();
|
||||
sfView_setCenter(view, {400, 600});
|
||||
const sfVector2f center = sfView_getCenter(view);
|
||||
CHECK(center.x == 400);
|
||||
CHECK(center.y == 600);
|
||||
sfView_destroy(view);
|
||||
}
|
||||
|
||||
SECTION("sfView_setSize")
|
||||
{
|
||||
sfView* view = sfView_create();
|
||||
sfView_setSize(view, {150, 350});
|
||||
const sfVector2f size = sfView_getSize(view);
|
||||
CHECK(size.x == 150);
|
||||
CHECK(size.y == 350);
|
||||
sfView_destroy(view);
|
||||
}
|
||||
|
||||
SECTION("sfView_setRotation")
|
||||
{
|
||||
sfView* view = sfView_create();
|
||||
sfView_setRotation(view, 45);
|
||||
CHECK(sfView_getRotation(view) == 45);
|
||||
sfView_destroy(view);
|
||||
}
|
||||
|
||||
SECTION("sfView_setViewport")
|
||||
{
|
||||
sfView* view = sfView_create();
|
||||
sfView_setViewport(view, {{25, 40}, {100, 200}});
|
||||
const sfFloatRect viewport = sfView_getViewport(view);
|
||||
CHECK(viewport.position.x == 25);
|
||||
CHECK(viewport.position.y == 40);
|
||||
CHECK(viewport.size.x == 100);
|
||||
CHECK(viewport.size.y == 200);
|
||||
sfView_destroy(view);
|
||||
}
|
||||
|
||||
SECTION("sfView_setScissor")
|
||||
{
|
||||
sfView* view = sfView_create();
|
||||
sfView_setScissor(view, {{0.75f, 0.25f}, {0, 0.5f}});
|
||||
const sfFloatRect scissor = sfView_getScissor(view);
|
||||
CHECK(scissor.position.x == 0.75f);
|
||||
CHECK(scissor.position.y == 0.25f);
|
||||
CHECK(scissor.size.x == 0);
|
||||
CHECK(scissor.size.y == 0.5f);
|
||||
sfView_destroy(view);
|
||||
}
|
||||
|
||||
SECTION("sfView_move, sfView_rotate, sfView_zoom")
|
||||
{
|
||||
sfView* view = sfView_create();
|
||||
sfView_move(view, {15, 35});
|
||||
sfView_rotate(view, 180);
|
||||
sfView_zoom(view, 2);
|
||||
const sfVector2f center = sfView_getCenter(view);
|
||||
CHECK(center.x == 515);
|
||||
CHECK(center.y == 535);
|
||||
const sfVector2f size = sfView_getSize(view);
|
||||
CHECK(size.x == 2000);
|
||||
CHECK(size.y == 2000);
|
||||
CHECK(sfView_getRotation(view) == 180);
|
||||
const sfFloatRect viewport = sfView_getViewport(view);
|
||||
CHECK(viewport.position.x == 0);
|
||||
CHECK(viewport.position.y == 0);
|
||||
CHECK(viewport.size.x == 1);
|
||||
CHECK(viewport.size.y == 1);
|
||||
const sfFloatRect scissor = sfView_getScissor(view);
|
||||
CHECK(scissor.position.x == 0);
|
||||
CHECK(scissor.position.y == 0);
|
||||
CHECK(scissor.size.x == 1);
|
||||
CHECK(scissor.size.y == 1);
|
||||
sfView_destroy(view);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user