Add tests for sfRenderStates

This commit is contained in:
Chris Thrasher committed 2024-12-23 10:31:53 -06:00
1 parent f6949a5a06
commit feb431a689
2 files changed
+42

No files matched your search

+1
View File
@@ -49,6 +49,7 @@ add_executable(test-csfml-graphics
Graphics/Color.test.cpp
Graphics/CoordinateType.test.cpp
Graphics/Rect.test.cpp
Graphics/RenderStates.test.cpp
Graphics/StencilMode.test.cpp
Graphics/Transform.test.cpp
)
+41
View File
@@ -0,0 +1,41 @@
#include <CSFML/Graphics/RenderStates.h>
#include <SFML/Graphics/RenderStates.hpp>
#include <catch2/catch_test_macros.hpp>
#include "CSFML/Graphics/CoordinateType.h"
TEST_CASE("[Graphics] sfRenderStates")
{
SECTION("Construction")
{
constexpr sfRenderStates renderStates{};
STATIC_CHECK(renderStates.blendMode.colorSrcFactor == sfBlendFactorZero);
STATIC_CHECK(renderStates.blendMode.colorDstFactor == sfBlendFactorZero);
STATIC_CHECK(renderStates.blendMode.colorEquation == sfBlendEquationAdd);
STATIC_CHECK(renderStates.blendMode.alphaSrcFactor == sfBlendFactorZero);
STATIC_CHECK(renderStates.blendMode.alphaDstFactor == sfBlendFactorZero);
STATIC_CHECK(renderStates.blendMode.alphaEquation == sfBlendEquationAdd);
STATIC_CHECK(renderStates.stencilMode.stencilComparison == sfStencilComparisonNever);
STATIC_CHECK(renderStates.stencilMode.stencilUpdateOperation == sfStencilUpdateOperationKeep);
STATIC_CHECK(renderStates.stencilMode.stencilReference.value == 0);
STATIC_CHECK(renderStates.stencilMode.stencilMask.value == 0);
STATIC_CHECK(!renderStates.stencilMode.stencilOnly);
for (const auto element : renderStates.transform.matrix)
CHECK(element == 0);
STATIC_CHECK(renderStates.coordinateType == sfCoordinateTypeNormalized);
STATIC_CHECK(renderStates.texture == nullptr);
STATIC_CHECK(renderStates.shader == nullptr);
}
SECTION("sfRenderStates_default")
{
CHECK(sfRenderStates_default.blendMode.alphaDstFactor == sfBlendAlpha.alphaDstFactor);
CHECK(sfRenderStates_default.blendMode.colorDstFactor == sfBlendAlpha.colorDstFactor);
CHECK(sfRenderStates_default.blendMode.colorEquation == sfBlendAlpha.colorEquation);
CHECK(sfRenderStates_default.blendMode.alphaSrcFactor == sfBlendAlpha.alphaSrcFactor);
CHECK(sfRenderStates_default.blendMode.alphaDstFactor == sfBlendAlpha.alphaDstFactor);
CHECK(sfRenderStates_default.blendMode.alphaEquation == sfBlendAlpha.alphaEquation);
}
}