Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenlib/tests/BLI_generic_vector_array_test.cc')
-rw-r--r--source/blender/blenlib/tests/BLI_generic_vector_array_test.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/source/blender/blenlib/tests/BLI_generic_vector_array_test.cc b/source/blender/blenlib/tests/BLI_generic_vector_array_test.cc
new file mode 100644
index 00000000000..105f3603914
--- /dev/null
+++ b/source/blender/blenlib/tests/BLI_generic_vector_array_test.cc
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+
+#include "testing/testing.h"
+
+#include "BLI_generic_vector_array.hh"
+
+namespace blender::tests {
+
+TEST(generic_vector_array, Construct)
+{
+ GVectorArray vector_array{CPPType::get<int>(), 4};
+ EXPECT_EQ(vector_array.size(), 4);
+ EXPECT_FALSE(vector_array.is_empty());
+}
+
+TEST(generic_vector_array, Append)
+{
+ GVectorArray vector_array{CPPType::get<int>(), 3};
+ int value1 = 2;
+ vector_array.append(1, &value1);
+ vector_array.append(1, &value1);
+ int value2 = 3;
+ vector_array.append(0, &value2);
+ vector_array.append(1, &value2);
+
+ EXPECT_EQ(vector_array[0].size(), 1);
+ EXPECT_EQ(vector_array[1].size(), 3);
+ EXPECT_EQ(vector_array[2].size(), 0);
+}
+
+TEST(generic_vector_array, Extend)
+{
+ GVectorArray vector_array{CPPType::get<int>(), 3};
+ vector_array.extend(0, Span<int>({1, 4, 6, 4}));
+ vector_array.extend(1, Span<int>());
+ vector_array.extend(0, Span<int>({10, 20, 30}));
+
+ EXPECT_EQ(vector_array[0].size(), 7);
+ EXPECT_EQ(vector_array[1].size(), 0);
+ EXPECT_EQ(vector_array[2].size(), 0);
+}
+
+} // namespace blender::tests