Blender
V2.93
source
blender
blenlib
tests
BLI_index_mask_test.cc
Go to the documentation of this file.
1
/* Apache License, Version 2.0 */
2
3
#include "
BLI_index_mask.hh
"
4
#include "testing/testing.h"
5
6
namespace
blender::tests
{
7
8
TEST
(index_mask, DefaultConstructor)
9
{
10
IndexMask
mask
;
11
EXPECT_EQ
(
mask
.min_array_size(), 0);
12
EXPECT_EQ
(
mask
.size(), 0);
13
}
14
15
TEST
(index_mask, ArrayConstructor)
16
{
17
[](
IndexMask
mask
) {
18
EXPECT_EQ
(
mask
.size(), 4);
19
EXPECT_EQ
(
mask
.min_array_size(), 8);
20
EXPECT_FALSE(
mask
.is_range());
21
EXPECT_EQ
(
mask
[0], 3);
22
EXPECT_EQ
(
mask
[1], 5);
23
EXPECT_EQ
(
mask
[2], 6);
24
EXPECT_EQ
(
mask
[3], 7);
25
}({3, 5, 6, 7});
26
}
27
28
TEST
(index_mask, RangeConstructor)
29
{
30
IndexMask
mask
=
IndexRange
(3, 5);
31
EXPECT_EQ
(
mask
.size(), 5);
32
EXPECT_EQ
(
mask
.min_array_size(), 8);
33
EXPECT_EQ
(
mask
.last(), 7);
34
EXPECT_TRUE(
mask
.is_range());
35
EXPECT_EQ
(
mask
.as_range().first(), 3);
36
EXPECT_EQ
(
mask
.as_range().last(), 7);
37
Span<int64_t>
indices
=
mask
.indices();
38
EXPECT_EQ
(
indices
[0], 3);
39
EXPECT_EQ
(
indices
[1], 4);
40
EXPECT_EQ
(
indices
[2], 5);
41
}
42
43
}
// namespace blender::tests
EXPECT_EQ
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
BLI_index_mask.hh
blender::IndexMask
Definition:
BLI_index_mask.hh:45
blender::IndexRange
Definition:
BLI_index_range.hh:65
blender::Span< int64_t >
indices
static ushort indices[]
Definition:
geom_arrow_gizmo.c:58
blender::tests
Definition:
BLI_array_test.cc:9
blender::tests::TEST
TEST(array, DefaultConstructor)
Definition:
BLI_array_test.cc:11
mask
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
Definition:
util_math_float4.h:471
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1