Blender  V2.93
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 {
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(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
static ushort indices[]
TEST(array, DefaultConstructor)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)