Changeset View
Changeset View
Standalone View
Standalone View
source/blender/functions/tests/FN_multi_function_test.cc
| Show First 20 Lines • Show All 258 Lines • ▼ Show 20 Lines | TEST(multi_function, CustomMF_Constant) | ||||
| EXPECT_EQ(outputs[2], 42); | EXPECT_EQ(outputs[2], 42); | ||||
| EXPECT_EQ(outputs[3], 42); | EXPECT_EQ(outputs[3], 42); | ||||
| } | } | ||||
| TEST(multi_function, CustomMF_GenericConstant) | TEST(multi_function, CustomMF_GenericConstant) | ||||
| { | { | ||||
| int value = 42; | int value = 42; | ||||
| CustomMF_GenericConstant fn{CPPType::get<int32_t>(), (const void *)&value, false}; | CustomMF_GenericConstant fn{CPPType::get<int32_t>(), (const void *)&value, false}; | ||||
| EXPECT_EQ(fn.param_name(0), "42"); | |||||
| Array<int> outputs(4, 0); | Array<int> outputs(4, 0); | ||||
| MFParamsBuilder params(fn, outputs.size()); | MFParamsBuilder params(fn, outputs.size()); | ||||
| params.add_uninitialized_single_output(outputs.as_mutable_span()); | params.add_uninitialized_single_output(outputs.as_mutable_span()); | ||||
| MFContextBuilder context; | MFContextBuilder context; | ||||
| fn.call({0, 1, 2}, params, context); | fn.call({0, 1, 2}, params, context); | ||||
| EXPECT_EQ(outputs[0], 42); | EXPECT_EQ(outputs[0], 42); | ||||
| EXPECT_EQ(outputs[1], 42); | EXPECT_EQ(outputs[1], 42); | ||||
| EXPECT_EQ(outputs[2], 42); | EXPECT_EQ(outputs[2], 42); | ||||
| EXPECT_EQ(outputs[3], 0); | EXPECT_EQ(outputs[3], 0); | ||||
| } | } | ||||
| TEST(multi_function, CustomMF_GenericConstantArray) | TEST(multi_function, CustomMF_GenericConstantArray) | ||||
| { | { | ||||
| std::array<int, 4> values = {3, 4, 5, 6}; | std::array<int, 4> values = {3, 4, 5, 6}; | ||||
| CustomMF_GenericConstantArray fn{GSpan(Span(values))}; | CustomMF_GenericConstantArray fn{GSpan(Span(values))}; | ||||
| EXPECT_EQ(fn.param_name(0), "[3, 4, 5, 6, ]"); | |||||
| GVectorArray vector_array{CPPType::get<int32_t>(), 4}; | GVectorArray vector_array{CPPType::get<int32_t>(), 4}; | ||||
| GVectorArray_TypedMutableRef<int> vector_array_ref{vector_array}; | GVectorArray_TypedMutableRef<int> vector_array_ref{vector_array}; | ||||
| MFParamsBuilder params(fn, vector_array.size()); | MFParamsBuilder params(fn, vector_array.size()); | ||||
| params.add_vector_output(vector_array); | params.add_vector_output(vector_array); | ||||
| MFContextBuilder context; | MFContextBuilder context; | ||||
| ▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines | |||||