Blender
V4.3
source
blender
blenlib
tests
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
7
#include "
BLI_index_ranges_builder.hh
"
8
9
namespace
blender::tests
{
10
11
TEST
(index_ranges_builder, Empty)
12
{
13
IndexRangesBuilderBuffer<int, 10>
builder_buffer;
14
IndexRangesBuilder<int>
builder{builder_buffer};
15
EXPECT_EQ
(builder.size(), 0);
16
EXPECT_TRUE(builder.is_empty());
17
}
18
19
TEST
(index_ranges_builder, Single)
20
{
21
{
22
IndexRangesBuilderBuffer<int, 10>
builder_buffer;
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
{
29
IndexRangesBuilderBuffer<int, 10>
builder_buffer;
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
37
TEST
(index_ranges_builder, Multiple)
38
{
39
IndexRangesBuilderBuffer<int, 10>
builder_buffer;
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);
50
EXPECT_EQ
(builder[0],
IndexRange::from_begin_end_inclusive
(3, 5));
51
EXPECT_EQ
(builder[1],
IndexRange::from_begin_end_inclusive
(8, 9));
52
EXPECT_EQ
(builder[2],
IndexRange::from_begin_end
(20, 130));
53
}
54
55
TEST
(index_ranges_builder, Full)
56
{
57
{
58
IndexRangesBuilderBuffer<int, 1>
builder_buffer;
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);
65
EXPECT_EQ
(builder[0],
IndexRange::from_begin_end_inclusive
(10, 12));
66
}
67
{
68
IndexRangesBuilderBuffer<int, 3>
builder_buffer;
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
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
BLI_index_ranges_builder.hh
blender::IndexRange::from_begin_end
static constexpr IndexRange from_begin_end(const int64_t begin, const int64_t end)
Definition
BLI_index_range.hh:74
blender::IndexRange::from_begin_size
static constexpr IndexRange from_begin_size(const int64_t begin, const int64_t size)
Definition
BLI_index_range.hh:69
blender::IndexRange::from_begin_end_inclusive
static constexpr IndexRange from_begin_end_inclusive(const int64_t begin, const int64_t last)
Definition
BLI_index_range.hh:79
blender::IndexRangesBuilder
Definition
BLI_index_ranges_builder_fwd.hh:11
blender::tests
Definition
BLI_any_test.cc:10
blender::tests::TEST
TEST(any, DefaultConstructor)
Definition
BLI_any_test.cc:12
blender::IndexRangesBuilderBuffer
Definition
BLI_index_ranges_builder.hh:112
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0