|
| 1 | +#include <CSFML/Graphics/StencilMode.h> |
| 2 | + |
| 3 | +#include <SFML/Graphics/StencilMode.hpp> |
| 4 | + |
| 5 | +#include <catch2/catch_test_macros.hpp> |
| 6 | + |
| 7 | +TEST_CASE("[Graphics] sfStencilMode") |
| 8 | +{ |
| 9 | + SECTION("sfStencilComparison") |
| 10 | + { |
| 11 | + STATIC_CHECK(sfStencilComparisonNever == static_cast<int>(sf::StencilComparison::Never)); |
| 12 | + STATIC_CHECK(sfStencilComparisonLess == static_cast<int>(sf::StencilComparison::Less)); |
| 13 | + STATIC_CHECK(sfStencilComparisonLessEqual == static_cast<int>(sf::StencilComparison::LessEqual)); |
| 14 | + STATIC_CHECK(sfStencilComparisonGreater == static_cast<int>(sf::StencilComparison::Greater)); |
| 15 | + STATIC_CHECK(sfStencilComparisonGreaterEqual == static_cast<int>(sf::StencilComparison::GreaterEqual)); |
| 16 | + STATIC_CHECK(sfStencilComparisonEqual == static_cast<int>(sf::StencilComparison::Equal)); |
| 17 | + STATIC_CHECK(sfStencilComparisonNotEqual == static_cast<int>(sf::StencilComparison::NotEqual)); |
| 18 | + STATIC_CHECK(sfStencilComparisonAlways == static_cast<int>(sf::StencilComparison::Always)); |
| 19 | + } |
| 20 | + |
| 21 | + SECTION("sfStencilUpdateOperation") |
| 22 | + { |
| 23 | + STATIC_CHECK(sfStencilUpdateOperationKeep == static_cast<int>(sf::StencilUpdateOperation::Keep)); |
| 24 | + STATIC_CHECK(sfStencilUpdateOperationZero == static_cast<int>(sf::StencilUpdateOperation::Zero)); |
| 25 | + STATIC_CHECK(sfStencilUpdateOperationReplace == static_cast<int>(sf::StencilUpdateOperation::Replace)); |
| 26 | + STATIC_CHECK(sfStencilUpdateOperationIncrement == static_cast<int>(sf::StencilUpdateOperation::Increment)); |
| 27 | + STATIC_CHECK(sfStencilUpdateOperationDecrement == static_cast<int>(sf::StencilUpdateOperation::Decrement)); |
| 28 | + STATIC_CHECK(sfStencilUpdateOperationInvert == static_cast<int>(sf::StencilUpdateOperation::Invert)); |
| 29 | + } |
| 30 | + |
| 31 | + SECTION("sfStencilValue") |
| 32 | + { |
| 33 | + constexpr sfStencilValue stencilValue{}; |
| 34 | + STATIC_CHECK(stencilValue.value == 0); |
| 35 | + } |
| 36 | + |
| 37 | + SECTION("sfStencilMode") |
| 38 | + { |
| 39 | + constexpr sfStencilMode stencilMode{}; |
| 40 | + STATIC_CHECK(stencilMode.stencilComparison == sfStencilComparisonNever); |
| 41 | + STATIC_CHECK(stencilMode.stencilUpdateOperation == sfStencilUpdateOperationKeep); |
| 42 | + STATIC_CHECK(stencilMode.stencilReference.value == 0); |
| 43 | + STATIC_CHECK(stencilMode.stencilMask.value == 0); |
| 44 | + STATIC_CHECK(!stencilMode.stencilOnly); |
| 45 | + } |
| 46 | + |
| 47 | + SECTION("sfStencilMode_default") |
| 48 | + { |
| 49 | + CHECK(sfStencilMode_default.stencilComparison == sfStencilComparisonAlways); |
| 50 | + CHECK(sfStencilMode_default.stencilUpdateOperation == sfStencilUpdateOperationKeep); |
| 51 | + CHECK(sfStencilMode_default.stencilReference.value == 0); |
| 52 | + CHECK(sfStencilMode_default.stencilMask.value == ~0u); |
| 53 | + CHECK(!sfStencilMode_default.stencilOnly); |
| 54 | + } |
| 55 | +} |
0 commit comments