Skip to content

Commit feb431a

Browse files
committed
Add tests for sfRenderStates
1 parent f6949a5 commit feb431a

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

test/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ add_executable(test-csfml-graphics
4949
Graphics/Color.test.cpp
5050
Graphics/CoordinateType.test.cpp
5151
Graphics/Rect.test.cpp
52+
Graphics/RenderStates.test.cpp
5253
Graphics/StencilMode.test.cpp
5354
Graphics/Transform.test.cpp
5455
)

test/Graphics/RenderStates.test.cpp

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#include <CSFML/Graphics/RenderStates.h>
2+
3+
#include <SFML/Graphics/RenderStates.hpp>
4+
5+
#include <catch2/catch_test_macros.hpp>
6+
7+
#include "CSFML/Graphics/CoordinateType.h"
8+
9+
TEST_CASE("[Graphics] sfRenderStates")
10+
{
11+
SECTION("Construction")
12+
{
13+
constexpr sfRenderStates renderStates{};
14+
STATIC_CHECK(renderStates.blendMode.colorSrcFactor == sfBlendFactorZero);
15+
STATIC_CHECK(renderStates.blendMode.colorDstFactor == sfBlendFactorZero);
16+
STATIC_CHECK(renderStates.blendMode.colorEquation == sfBlendEquationAdd);
17+
STATIC_CHECK(renderStates.blendMode.alphaSrcFactor == sfBlendFactorZero);
18+
STATIC_CHECK(renderStates.blendMode.alphaDstFactor == sfBlendFactorZero);
19+
STATIC_CHECK(renderStates.blendMode.alphaEquation == sfBlendEquationAdd);
20+
STATIC_CHECK(renderStates.stencilMode.stencilComparison == sfStencilComparisonNever);
21+
STATIC_CHECK(renderStates.stencilMode.stencilUpdateOperation == sfStencilUpdateOperationKeep);
22+
STATIC_CHECK(renderStates.stencilMode.stencilReference.value == 0);
23+
STATIC_CHECK(renderStates.stencilMode.stencilMask.value == 0);
24+
STATIC_CHECK(!renderStates.stencilMode.stencilOnly);
25+
for (const auto element : renderStates.transform.matrix)
26+
CHECK(element == 0);
27+
STATIC_CHECK(renderStates.coordinateType == sfCoordinateTypeNormalized);
28+
STATIC_CHECK(renderStates.texture == nullptr);
29+
STATIC_CHECK(renderStates.shader == nullptr);
30+
}
31+
32+
SECTION("sfRenderStates_default")
33+
{
34+
CHECK(sfRenderStates_default.blendMode.alphaDstFactor == sfBlendAlpha.alphaDstFactor);
35+
CHECK(sfRenderStates_default.blendMode.colorDstFactor == sfBlendAlpha.colorDstFactor);
36+
CHECK(sfRenderStates_default.blendMode.colorEquation == sfBlendAlpha.colorEquation);
37+
CHECK(sfRenderStates_default.blendMode.alphaSrcFactor == sfBlendAlpha.alphaSrcFactor);
38+
CHECK(sfRenderStates_default.blendMode.alphaDstFactor == sfBlendAlpha.alphaDstFactor);
39+
CHECK(sfRenderStates_default.blendMode.alphaEquation == sfBlendAlpha.alphaEquation);
40+
}
41+
}

0 commit comments

Comments
 (0)