Blender  V2.93
BLI_virtual_array_test.cc
Go to the documentation of this file.
1 /* Apache License, Version 2.0 */
2 
3 #include "BLI_strict_flags.h"
4 #include "BLI_virtual_array.hh"
5 #include "testing/testing.h"
6 
7 namespace blender::tests {
8 
9 TEST(virtual_array, ForSpan)
10 {
11  std::array<int, 5> data = {3, 4, 5, 6, 7};
12  VArrayForSpan<int> varray{data};
13  EXPECT_EQ(varray.size(), 5);
14  EXPECT_EQ(varray.get(0), 3);
15  EXPECT_EQ(varray.get(4), 7);
16  EXPECT_TRUE(varray.is_span());
17  EXPECT_FALSE(varray.is_single());
18  EXPECT_EQ(varray.get_span().data(), data.data());
19 }
20 
21 TEST(virtual_array, ForSingle)
22 {
23  VArrayForSingle<int> varray{10, 4};
24  EXPECT_EQ(varray.size(), 4);
25  EXPECT_EQ(varray.get(0), 10);
26  EXPECT_EQ(varray.get(3), 10);
27  EXPECT_FALSE(varray.is_span());
28  EXPECT_TRUE(varray.is_single());
29 }
30 
31 } // namespace blender::tests
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
Strict compiler flags for areas of code we want to ensure don't do conversions without us knowing abo...
TEST(array, DefaultConstructor)