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/functions/tests/FN_multi_function_test.cc')
-rw-r--r--source/blender/functions/tests/FN_multi_function_test.cc29
1 files changed, 28 insertions, 1 deletions
diff --git a/source/blender/functions/tests/FN_multi_function_test.cc b/source/blender/functions/tests/FN_multi_function_test.cc
index 91c72a51dd6..d99993b35ac 100644
--- a/source/blender/functions/tests/FN_multi_function_test.cc
+++ b/source/blender/functions/tests/FN_multi_function_test.cc
@@ -263,7 +263,7 @@ TEST(multi_function, CustomMF_Constant)
TEST(multi_function, CustomMF_GenericConstant)
{
int value = 42;
- CustomMF_GenericConstant fn{CPPType::get<int32_t>(), (const void *)&value};
+ CustomMF_GenericConstant fn{CPPType::get<int32_t>(), (const void *)&value, false};
EXPECT_EQ(fn.param_name(0), "42");
Array<int> outputs(4, 0);
@@ -328,5 +328,32 @@ TEST(multi_function, CustomMF_Convert)
EXPECT_EQ(outputs[2], 9);
}
+TEST(multi_function, IgnoredOutputs)
+{
+ OptionalOutputsFunction fn;
+ {
+ MFParamsBuilder params(fn, 10);
+ params.add_ignored_single_output("Out 1");
+ params.add_ignored_single_output("Out 2");
+ MFContextBuilder context;
+ fn.call(IndexRange(10), params, context);
+ }
+ {
+ Array<int> results_1(10);
+ Array<std::string> results_2(10, NoInitialization());
+
+ MFParamsBuilder params(fn, 10);
+ params.add_uninitialized_single_output(results_1.as_mutable_span(), "Out 1");
+ params.add_uninitialized_single_output(results_2.as_mutable_span(), "Out 2");
+ MFContextBuilder context;
+ fn.call(IndexRange(10), params, context);
+
+ EXPECT_EQ(results_1[0], 5);
+ EXPECT_EQ(results_1[3], 5);
+ EXPECT_EQ(results_1[9], 5);
+ EXPECT_EQ(results_2[0], "hello, this is a long string");
+ }
+}
+
} // namespace
} // namespace blender::fn::tests