File: StencilMode.test.cpp

package info (click to toggle)
libcsfml 3.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,240 kB
  • sloc: cpp: 7,741; ansic: 2,616; sh: 805; makefile: 16
file content (55 lines) | stat: -rw-r--r-- 2,724 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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);
    }
}