[Bf-blender-cvs] [93dea8967d7] functions: unit test for Float Range function

Jacques Lucke noreply at git.blender.org
Sun Apr 28 00:30:14 CEST 2019


Commit: 93dea8967d7326873a9b71e2c4fdfc1f0408adb2
Author: Jacques Lucke
Date:   Sat Apr 27 23:29:33 2019 +0200
Branches: functions
https://developer.blender.org/rB93dea8967d7326873a9b71e2c4fdfc1f0408adb2

unit test for Float Range function

===================================================================

M	tests/gtests/functions/functions_test.cc

===================================================================

diff --git a/tests/gtests/functions/functions_test.cc b/tests/gtests/functions/functions_test.cc
index d2b81531722..13048a9c517 100644
--- a/tests/gtests/functions/functions_test.cc
+++ b/tests/gtests/functions/functions_test.cc
@@ -3,11 +3,13 @@
 
 using namespace FN;
 
+#define PREPARE_TUPLE_CALL_TEST(FN) \
+  auto *body = FN->body<TupleCallBody>(); \
+  FN_TUPLE_CALL_ALLOC_TUPLES(body, fn_in, fn_out);
+
 TEST(functions_impl, MultiplyFloats)
 {
-  auto fn = Functions::GET_FN_multiply_floats();
-  auto *body = fn->body<TupleCallBody>();
-  FN_TUPLE_CALL_ALLOC_TUPLES(body, fn_in, fn_out);
+  PREPARE_TUPLE_CALL_TEST(Functions::GET_FN_multiply_floats());
 
   fn_in.set<float>(0, 4);
   fn_in.set<float>(1, 20);
@@ -16,3 +18,23 @@ TEST(functions_impl, MultiplyFloats)
 
   EXPECT_EQ(fn_out.get<float>(0), 80);
 }
+
+TEST(functions_impl, FloatRange)
+{
+  PREPARE_TUPLE_CALL_TEST(Functions::GET_FN_float_range());
+
+  fn_in.set<int>(0, 4);
+  fn_in.set<float>(1, 2);
+  fn_in.set<float>(2, 7);
+
+  body->call__setup_execution_context(fn_in, fn_out);
+
+  auto list = fn_out.relocate_out<Types::SharedFloatList>(0);
+  EXPECT_EQ(list->size(), 4);
+
+  float *ptr = list->data_ptr();
+  EXPECT_EQ(ptr[0], 2);
+  EXPECT_EQ(ptr[1], 9);
+  EXPECT_EQ(ptr[2], 16);
+  EXPECT_EQ(ptr[3], 23);
+}



More information about the Bf-blender-cvs mailing list