Blender V4.3
BLI_index_ranges_builder_test.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#include "testing/testing.h"
6
8
9namespace blender::tests {
10
11TEST(index_ranges_builder, Empty)
12{
14 IndexRangesBuilder<int> builder{builder_buffer};
15 EXPECT_EQ(builder.size(), 0);
16 EXPECT_TRUE(builder.is_empty());
17}
18
19TEST(index_ranges_builder, Single)
20{
21 {
23 IndexRangesBuilder<int> builder{builder_buffer};
24 builder.add(0);
25 EXPECT_EQ(builder.size(), 1);
26 EXPECT_EQ(builder[0], IndexRange::from_begin_size(0, 1));
27 }
28 {
30 IndexRangesBuilder<int> builder{builder_buffer};
31 builder.add(10);
32 EXPECT_EQ(builder.size(), 1);
33 EXPECT_EQ(builder[0], IndexRange::from_begin_size(10, 1));
34 }
35}
36
37TEST(index_ranges_builder, Multiple)
38{
40 IndexRangesBuilder<int> builder{builder_buffer};
41 builder.add(3);
42 builder.add(4);
43 builder.add(5);
44 builder.add(8);
45 builder.add(9);
46 builder.add_range(20, 100);
47 builder.add_range(100, 130);
48
49 EXPECT_EQ(builder.size(), 3);
52 EXPECT_EQ(builder[2], IndexRange::from_begin_end(20, 130));
53}
54
55TEST(index_ranges_builder, Full)
56{
57 {
59 IndexRangesBuilder<int> builder{builder_buffer};
60 builder.add(10);
61 builder.add(11);
62 builder.add(12);
63
64 EXPECT_EQ(builder.size(), 1);
66 }
67 {
69 IndexRangesBuilder<int> builder{builder_buffer};
70 builder.add(100);
71 builder.add(200);
72 builder.add(300);
73 EXPECT_EQ(builder.size(), 3);
74 EXPECT_EQ(builder[0], IndexRange::from_begin_size(100, 1));
75 EXPECT_EQ(builder[1], IndexRange::from_begin_size(200, 1));
76 EXPECT_EQ(builder[2], IndexRange::from_begin_size(300, 1));
77 }
78}
79
80} // namespace blender::tests
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
static constexpr IndexRange from_begin_end(const int64_t begin, const int64_t end)
static constexpr IndexRange from_begin_size(const int64_t begin, const int64_t size)
static constexpr IndexRange from_begin_end_inclusive(const int64_t begin, const int64_t last)
TEST(any, DefaultConstructor)