mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-24 13:53:36 +02:00
Add tests for sfStencilMode
This commit is contained in:
1 parent
ab1a1a2299
commit
ed185c838d
2 files changed
+56
No files matched your search
@@ -49,6 +49,7 @@ add_executable(test-csfml-graphics
|
||||
Graphics/Color.test.cpp
|
||||
Graphics/CoordinateType.test.cpp
|
||||
Graphics/Rect.test.cpp
|
||||
Graphics/StencilMode.test.cpp
|
||||
)
|
||||
target_link_libraries(test-csfml-graphics PRIVATE csfml-graphics Catch2::Catch2WithMain SFML::Graphics)
|
||||
set_target_warnings(test-csfml-graphics)
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
#include <CSFML/Graphics/StencilMode.h>
|
||||
|
||||
#include <SFML/Graphics/StencilMode.hpp>
|
||||
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
TEST_CASE("[Graphics] sfStencilMode")
|
||||
{
|
||||
SECTION("sfStencilComparison")
|
||||
{
|
||||
STATIC_CHECK(sfStencilComparisonNever == static_cast<int>(sf::StencilComparison::Never));
|
||||
STATIC_CHECK(sfStencilComparisonLess == static_cast<int>(sf::StencilComparison::Less));
|
||||
STATIC_CHECK(sfStencilComparisonLessEqual == static_cast<int>(sf::StencilComparison::LessEqual));
|
||||
STATIC_CHECK(sfStencilComparisonGreater == static_cast<int>(sf::StencilComparison::Greater));
|
||||
STATIC_CHECK(sfStencilComparisonGreaterEqual == static_cast<int>(sf::StencilComparison::GreaterEqual));
|
||||
STATIC_CHECK(sfStencilComparisonEqual == static_cast<int>(sf::StencilComparison::Equal));
|
||||
STATIC_CHECK(sfStencilComparisonNotEqual == static_cast<int>(sf::StencilComparison::NotEqual));
|
||||
STATIC_CHECK(sfStencilComparisonAlways == static_cast<int>(sf::StencilComparison::Always));
|
||||
}
|
||||
|
||||
SECTION("sfStencilUpdateOperation")
|
||||
{
|
||||
STATIC_CHECK(sfStencilUpdateOperationKeep == static_cast<int>(sf::StencilUpdateOperation::Keep));
|
||||
STATIC_CHECK(sfStencilUpdateOperationZero == static_cast<int>(sf::StencilUpdateOperation::Zero));
|
||||
STATIC_CHECK(sfStencilUpdateOperationReplace == static_cast<int>(sf::StencilUpdateOperation::Replace));
|
||||
STATIC_CHECK(sfStencilUpdateOperationIncrement == static_cast<int>(sf::StencilUpdateOperation::Increment));
|
||||
STATIC_CHECK(sfStencilUpdateOperationDecrement == static_cast<int>(sf::StencilUpdateOperation::Decrement));
|
||||
STATIC_CHECK(sfStencilUpdateOperationInvert == static_cast<int>(sf::StencilUpdateOperation::Invert));
|
||||
}
|
||||
|
||||
SECTION("sfStencilValue")
|
||||
{
|
||||
constexpr sfStencilValue stencilValue{};
|
||||
STATIC_CHECK(stencilValue.value == 0);
|
||||
}
|
||||
|
||||
SECTION("sfStencilMode")
|
||||
{
|
||||
constexpr sfStencilMode stencilMode{};
|
||||
STATIC_CHECK(stencilMode.stencilComparison == sfStencilComparisonNever);
|
||||
STATIC_CHECK(stencilMode.stencilUpdateOperation == sfStencilUpdateOperationKeep);
|
||||
STATIC_CHECK(stencilMode.stencilReference.value == 0);
|
||||
STATIC_CHECK(stencilMode.stencilMask.value == 0);
|
||||
STATIC_CHECK(!stencilMode.stencilOnly);
|
||||
}
|
||||
|
||||
SECTION("sfStencilMode_default")
|
||||
{
|
||||
CHECK(sfStencilMode_default.stencilComparison == sfStencilComparisonAlways);
|
||||
CHECK(sfStencilMode_default.stencilUpdateOperation == sfStencilUpdateOperationKeep);
|
||||
CHECK(sfStencilMode_default.stencilReference.value == 0);
|
||||
CHECK(sfStencilMode_default.stencilMask.value == ~0u);
|
||||
CHECK(!sfStencilMode_default.stencilOnly);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user