diff options
Diffstat (limited to 'tests/gtests/blenlib/BLI_vector_test.cc')
-rw-r--r-- | tests/gtests/blenlib/BLI_vector_test.cc | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/tests/gtests/blenlib/BLI_vector_test.cc b/tests/gtests/blenlib/BLI_vector_test.cc index ea4711ca015..25435739a43 100644 --- a/tests/gtests/blenlib/BLI_vector_test.cc +++ b/tests/gtests/blenlib/BLI_vector_test.cc @@ -1,3 +1,5 @@ +/* Apache License, Version 2.0 */ + #include "BLI_strict_flags.h" #include "BLI_vector.hh" #include "testing/testing.h" @@ -57,6 +59,18 @@ TEST(vector, InitializerListConstructor) EXPECT_EQ(vec[3], 6); } +TEST(vector, ConvertingConstructor) +{ + std::array<float, 5> values = {5.4f, 7.3f, -8.1f, 5.0f, 0.0f}; + Vector<int> vec = values; + EXPECT_EQ(vec.size(), 5u); + EXPECT_EQ(vec[0], 5); + EXPECT_EQ(vec[1], 7); + EXPECT_EQ(vec[2], -8); + EXPECT_EQ(vec[3], 5); + EXPECT_EQ(vec[4], 0); +} + struct TestListValue { TestListValue *next, *prev; int value; @@ -499,7 +513,7 @@ class TypeConstructMock { { } - TypeConstructMock(TypeConstructMock &&other) : move_constructed(true) + TypeConstructMock(TypeConstructMock &&other) noexcept : move_constructed(true) { } @@ -513,7 +527,7 @@ class TypeConstructMock { return *this; } - TypeConstructMock &operator=(TypeConstructMock &&other) + TypeConstructMock &operator=(TypeConstructMock &&other) noexcept { if (this == &other) { return *this; @@ -637,4 +651,13 @@ TEST(vector, OveralignedValues) } } +TEST(vector, ConstructVoidPointerVector) +{ + int a; + float b; + double c; + Vector<void *> vec = {&a, &b, &c}; + EXPECT_EQ(vec.size(), 3u); +} + } // namespace blender |