diff options
Diffstat (limited to 'tests/gtests')
-rw-r--r-- | tests/gtests/blenlib/BLI_span_test.cc | 10 | ||||
-rw-r--r-- | tests/gtests/blenlib/BLI_vector_test.cc | 9 | ||||
-rw-r--r-- | tests/gtests/functions/FN_attributes_ref_test.cc | 3 | ||||
-rw-r--r-- | tests/gtests/functions/FN_multi_function_test.cc | 19 |
4 files changed, 39 insertions, 2 deletions
diff --git a/tests/gtests/blenlib/BLI_span_test.cc b/tests/gtests/blenlib/BLI_span_test.cc index ed3cce6d2cf..ccc63fd80eb 100644 --- a/tests/gtests/blenlib/BLI_span_test.cc +++ b/tests/gtests/blenlib/BLI_span_test.cc @@ -285,4 +285,14 @@ TEST(span, CastLargerSize) EXPECT_EQ(new_a_span.size(), 2u); } +TEST(span, VoidPointerSpan) +{ + int a; + float b; + double c; + + auto func1 = [](Span<void *> span) { EXPECT_EQ(span.size(), 3u); }; + func1({&a, &b, &c}); +} + } // namespace blender diff --git a/tests/gtests/blenlib/BLI_vector_test.cc b/tests/gtests/blenlib/BLI_vector_test.cc index 92fb12fb4e5..25435739a43 100644 --- a/tests/gtests/blenlib/BLI_vector_test.cc +++ b/tests/gtests/blenlib/BLI_vector_test.cc @@ -651,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 diff --git a/tests/gtests/functions/FN_attributes_ref_test.cc b/tests/gtests/functions/FN_attributes_ref_test.cc index fee8c5dc058..1c05bb930db 100644 --- a/tests/gtests/functions/FN_attributes_ref_test.cc +++ b/tests/gtests/functions/FN_attributes_ref_test.cc @@ -65,8 +65,7 @@ TEST(mutable_attributes_ref, ComplexTest) Array<float> sizes(amount); Array<std::string> names(amount); - Array<void *> buffers = { - (void *)positions.data(), (void *)ids.data(), (void *)sizes.data(), (void *)names.data()}; + Array<void *> buffers = {positions.data(), ids.data(), sizes.data(), names.data()}; MutableAttributesRef attributes{info, buffers, IndexRange(1, 3)}; EXPECT_EQ(attributes.size(), 3); EXPECT_EQ(attributes.info().size(), 4); diff --git a/tests/gtests/functions/FN_multi_function_test.cc b/tests/gtests/functions/FN_multi_function_test.cc index 51115e4cd6b..8cc8f91a300 100644 --- a/tests/gtests/functions/FN_multi_function_test.cc +++ b/tests/gtests/functions/FN_multi_function_test.cc @@ -364,4 +364,23 @@ TEST(multi_function, CustomMF_GenericConstantArray) } } +TEST(multi_function, CustomMF_Convert) +{ + CustomMF_Convert<float, int> fn; + + Array<float> inputs = {5.4f, 7.1f, 9.0f}; + Array<int> outputs(inputs.size(), 0); + + MFParamsBuilder params(fn, inputs.size()); + params.add_readonly_single_input(inputs.as_span()); + params.add_uninitialized_single_output(outputs.as_mutable_span()); + + MFContextBuilder context; + fn.call({0, 2}, params, context); + + EXPECT_EQ(outputs[0], 5); + EXPECT_EQ(outputs[1], 0); + EXPECT_EQ(outputs[2], 9); +} + } // namespace blender::fn |