#include #include #include TEST_CASE("[Graphics] sfStencilMode") { SECTION("sfStencilComparison") { STATIC_CHECK(sfStencilComparisonNever == static_cast(sf::StencilComparison::Never)); STATIC_CHECK(sfStencilComparisonLess == static_cast(sf::StencilComparison::Less)); STATIC_CHECK(sfStencilComparisonLessEqual == static_cast(sf::StencilComparison::LessEqual)); STATIC_CHECK(sfStencilComparisonGreater == static_cast(sf::StencilComparison::Greater)); STATIC_CHECK(sfStencilComparisonGreaterEqual == static_cast(sf::StencilComparison::GreaterEqual)); STATIC_CHECK(sfStencilComparisonEqual == static_cast(sf::StencilComparison::Equal)); STATIC_CHECK(sfStencilComparisonNotEqual == static_cast(sf::StencilComparison::NotEqual)); STATIC_CHECK(sfStencilComparisonAlways == static_cast(sf::StencilComparison::Always)); } SECTION("sfStencilUpdateOperation") { STATIC_CHECK(sfStencilUpdateOperationKeep == static_cast(sf::StencilUpdateOperation::Keep)); STATIC_CHECK(sfStencilUpdateOperationZero == static_cast(sf::StencilUpdateOperation::Zero)); STATIC_CHECK(sfStencilUpdateOperationReplace == static_cast(sf::StencilUpdateOperation::Replace)); STATIC_CHECK(sfStencilUpdateOperationIncrement == static_cast(sf::StencilUpdateOperation::Increment)); STATIC_CHECK(sfStencilUpdateOperationDecrement == static_cast(sf::StencilUpdateOperation::Decrement)); STATIC_CHECK(sfStencilUpdateOperationInvert == static_cast(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); } }