lidavidm commented on a change in pull request #11853:
URL: https://github.com/apache/arrow/pull/11853#discussion_r778387239
##########
File path: cpp/src/arrow/compute/kernels/vector_replace_test.cc
##########
@@ -792,5 +850,763 @@ TYPED_TEST(TestReplaceBinary, ReplaceWithMaskRandom) {
}
}
+template <typename T>
+class TestFillNullNumeric : public TestReplaceKernel<T> {
+ protected:
+ std::shared_ptr<DataType> type() override { return
default_type_instance<T>(); }
+};
+template <typename T>
+class TestFillNullDecimal : public TestReplaceKernel<T> {
+ protected:
+ std::shared_ptr<DataType> type() override { return
default_type_instance<T>(); }
+};
+template <typename T>
+class TestFillNullBinary : public TestReplaceKernel<T> {
+ protected:
+ std::shared_ptr<DataType> type() override { return
default_type_instance<T>(); }
+};
+
+class TestFillNullType : public TestReplaceKernel<NullType> {
+ std::shared_ptr<DataType> type() override { return
default_type_instance<NullType>(); }
+};
+
+TYPED_TEST_SUITE(TestFillNullNumeric, NumericBasedTypes);
+TYPED_TEST_SUITE(TestFillNullDecimal, DecimalArrowTypes);
+TYPED_TEST_SUITE(TestFillNullBinary, BaseBinaryArrowTypes);
+
+TYPED_TEST(TestFillNullNumeric, FillNullValuesForward) {
+ this->AssertFillNullArray(FillNullForward, this->array("[]"),
this->array("[]"));
+
+ this->AssertFillNullArray(FillNullForward, this->array("[null, null, null,
null]"),
+ this->array("[null, null, null, null]"));
+ this->AssertFillNullArray(FillNullForward, this->array("[null, null, null,
4]"),
+ this->array("[null, null, null, 4]"));
+ this->AssertFillNullArray(FillNullForward, this->array("[null, 4, null]"),
+ this->array("[null, 4, 4]"));
+ this->AssertFillNullArray(FillNullForward, this->array("[null, null, 4,
null]"),
+ this->array("[null, null, 4, 4]"));
+ this->AssertFillNullArray(FillNullForward, this->array("[null, null, null,
4, null]"),
+ this->array("[null, null, null, 4, 4]"));
+ this->AssertFillNullArray(FillNullForward, this->array("[null, null, 4,null,
5, null]"),
+ this->array("[null, null, 4, 4, 5, 5]"));
+
+ this->AssertFillNullArray(FillNullForward, this->array("[1,4,null]"),
+ this->array("[1,4,4]"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array("[1, 4, null, null, null, null]"),
+ this->array("[1, 4 ,4, 4, 4, 4]"));
+ this->AssertFillNullArray(FillNullForward, this->array("[1, 4, null, 5,
null, null]"),
+ this->array("[1, 4 ,4, 5, 5, 5]"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array("[1, 4, null, 5, null, null, 6]"),
+ this->array("[1, 4 ,4, 5, 5, 5, 6]"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array("[1, 4, null, 5, null, null, 5]"),
+ this->array("[1, 4 ,4, 5, 5, 5, 5]"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array("[1, 4, null, 5, null, 6, null]"),
+ this->array("[1, 4 ,4, 5, 5, 6, 6]"));
+ this->AssertFillNullArray(FillNullForward, this->array("[1, 4, null, 5,
null, 6, 7]"),
+ this->array("[1, 4 ,4, 5, 5, 6, 7]"));
+ this->AssertFillNullArray(FillNullForward, this->array("[1, 4 ,4, 5, 5, 6,
7]"),
+ this->array("[1, 4 ,4, 5, 5, 6, 7]"));
+}
+
+TYPED_TEST(TestFillNullDecimal, FillNullValuesForward) {
+ this->AssertFillNullArray(FillNullForward, this->array(R"([])"),
this->array(R"([])"));
+
+ this->AssertFillNullArray(FillNullForward, this->array(R"([null, null, null,
null])"),
+ this->array(R"([null, null, null, null])"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array(R"([null, null, null, "30.00"])"),
+ this->array(R"([null, null, null, "30.00"])"));
+ this->AssertFillNullArray(FillNullForward, this->array(R"([null, "30.00",
null])"),
+ this->array(R"([null, "30.00", "30.00"])"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array(R"([null, null, "30.00", null])"),
+ this->array(R"([null, null, "30.00", "30.00"])"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array(R"([null, null, null, "30.00",
null])"),
+ this->array(R"([null, null, null, "30.00",
"30.00"])"));
+ this->AssertFillNullArray(
+ FillNullForward, this->array(R"([null, null, "30.00",null, "5.00",
null])"),
+ this->array(R"([null, null, "30.00", "30.00", "5.00", "5.00"])"));
+
+ this->AssertFillNullArray(FillNullForward,
this->array(R"(["10.00","30.00",null])"),
+ this->array(R"(["10.00","30.00","30.00"])"));
+ this->AssertFillNullArray(
+ FillNullForward, this->array(R"(["10.00", "30.00", null, null, null,
null])"),
+ this->array(R"(["10.00", "30.00" ,"30.00", "30.00", "30.00",
"30.00"])"));
+ this->AssertFillNullArray(
+ FillNullForward, this->array(R"(["10.00", "30.00", null, "5.00", null,
null])"),
+ this->array(R"(["10.00", "30.00" ,"30.00", "5.00", "5.00", "5.00"])"));
+ this->AssertFillNullArray(
+ FillNullForward,
+ this->array(R"(["10.00", "30.00", null, "5.00", null, null, "6.00"])"),
+ this->array(R"(["10.00", "30.00" ,"30.00", "5.00", "5.00", "5.00",
"6.00"])"));
+ this->AssertFillNullArray(
+ FillNullForward,
+ this->array(R"(["10.00", "30.00", null, "5.00", null, null, "5.00"])"),
+ this->array(R"(["10.00", "30.00" ,"30.00", "5.00", "5.00", "5.00",
"5.00"])"));
+ this->AssertFillNullArray(
+ FillNullForward,
+ this->array(R"(["10.00", "30.00", null, "5.00", null, "6.00", null])"),
+ this->array(R"(["10.00", "30.00" ,"30.00", "5.00", "5.00", "6.00",
"6.00"])"));
+ this->AssertFillNullArray(
+ FillNullForward,
+ this->array(R"(["10.00", "30.00", null, "5.00", null, "6.00", "7.00"])"),
+ this->array(R"(["10.00", "30.00" ,"30.00", "5.00", "5.00", "6.00",
"7.00"])"));
+ this->AssertFillNullArray(
+ FillNullForward,
+ this->array(R"(["10.00", "30.00" ,"30.00", "5.00", "5.00", "6.00",
"7.00"])"),
+ this->array(R"(["10.00", "30.00" ,"30.00", "5.00", "5.00", "6.00",
"7.00"])"));
+}
+
+TYPED_TEST(TestFillNullBinary, FillNullValuesForward) {
+ this->AssertFillNullArray(FillNullForward, this->array(R"([])"),
this->array(R"([])"));
+
+ this->AssertFillNullArray(FillNullForward, this->array(R"([null, null, null,
null])"),
+ this->array(R"([null, null, null, null])"));
+ this->AssertFillNullArray(FillNullForward, this->array(R"([null, null, null,
"ccc"])"),
+ this->array(R"([null, null, null, "ccc"])"));
+ this->AssertFillNullArray(FillNullForward, this->array(R"([null, "ccc",
null])"),
+ this->array(R"([null, "ccc", "ccc"])"));
+ this->AssertFillNullArray(FillNullForward, this->array(R"([null, null,
"ccc", null])"),
+ this->array(R"([null, null, "ccc", "ccc"])"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array(R"([null, null, null, "ccc", null])"),
+ this->array(R"([null, null, null, "ccc",
"ccc"])"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array(R"([null, null, "ccc",null, "xyz",
null])"),
+ this->array(R"([null, null, "ccc", "ccc", "xyz",
"xyz"])"));
+
+ this->AssertFillNullArray(FillNullForward,
this->array(R"(["aaa","ccc",null])"),
+ this->array(R"(["aaa","ccc","ccc"])"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array(R"(["aaa", "ccc", null, null, null,
null])"),
+ this->array(R"(["aaa", "ccc" ,"ccc", "ccc", "ccc",
"ccc"])"));
+ this->AssertFillNullArray(FillNullForward,
+ this->array(R"(["aaa", "ccc", null, "xyz", null,
null])"),
+ this->array(R"(["aaa", "ccc" ,"ccc", "xyz", "xyz",
"xyz"])"));
+ this->AssertFillNullArray(
+ FillNullForward, this->array(R"(["aaa", "ccc", null, "xyz", null, null,
"qwert"])"),
+ this->array(R"(["aaa", "ccc" ,"ccc", "xyz", "xyz", "xyz", "qwert"])"));
+ this->AssertFillNullArray(
+ FillNullForward, this->array(R"(["aaa", "ccc", null, "xyz", null, null,
"xyz"])"),
+ this->array(R"(["aaa", "ccc" ,"ccc", "xyz", "xyz", "xyz", "xyz"])"));
+ this->AssertFillNullArray(
+ FillNullForward, this->array(R"(["aaa", "ccc", null, "xyz", null,
"qwert", null])"),
+ this->array(R"(["aaa", "ccc" ,"ccc", "xyz", "xyz", "qwert", "qwert"])"));
+ this->AssertFillNullArray(
+ FillNullForward, this->array(R"(["aaa", "ccc", null, "xyz", null,
"qwert", "uy"])"),
+ this->array(R"(["aaa", "ccc" ,"ccc", "xyz", "xyz", "qwert", "uy"])"));
+ this->AssertFillNullArray(
+ FillNullForward,
+ this->array(R"(["aaa", "ccc" ,"ccc", "xyz", "xyz", "qwert", "uy"])"),
+ this->array(R"(["aaa", "ccc" ,"ccc", "xyz", "xyz", "qwert", "uy"])"));
+}
+
+TYPED_TEST(TestFillNullNumeric, FillNullValuesBackward) {
+ this->AssertFillNullArray(FillNullBackward, this->array("[]"),
this->array("[]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[null, null, null,
null]"),
+ this->array("[null, null, null, null]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[null, 4, null,
null, null]"),
+ this->array("[4, 4,null, null, null]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[null, null, null,
4]"),
+ this->array("[4, 4, 4, 4]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[null, 4, null]"),
+ this->array("[4, 4, null]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[null, null, 4,
null]"),
+ this->array("[4, 4, 4, null]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[null, null, null,
4, null]"),
+ this->array("[4, 4, 4, 4, null]"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array("[null, null, 4,null, 5, null]"),
+ this->array("[4, 4, 4, 5, 5, null]"));
+
+ this->AssertFillNullArray(FillNullBackward, this->array("[1, 4, null]"),
+ this->array("[1, 4, null]"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array("[1, 4, null, null, null, null]"),
+ this->array("[1, 4 ,null, null, null, null]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[1, 4, null, 5,
null, null]"),
+ this->array("[1, 4 , 5, 5, null, null]"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array("[1, 4, null, 5, null, null, 6]"),
+ this->array("[1, 4 ,5, 5, 6, 6, 6]"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array("[1, 4, null, 5, null, null, 5]"),
+ this->array("[1, 4 ,5 , 5, 5, 5, 5]"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array("[1, 4, null, 5, null, 6, null]"),
+ this->array("[1, 4 ,5 , 5, 6, 6, null]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[1, 4, null, 5,
null, 6, 7]"),
+ this->array("[1, 4 ,5, 5, 6, 6, 7]"));
+ this->AssertFillNullArray(FillNullBackward, this->array("[1, 4 ,5, 5, 6, 6,
7]"),
+ this->array("[1, 4 ,5, 5, 6, 6, 7]"));
+}
+
+TYPED_TEST(TestFillNullDecimal, FillNullValuesBackward) {
+ this->AssertFillNullArray(FillNullBackward, this->array(R"([])"),
this->array(R"([])"));
+
+ this->AssertFillNullArray(FillNullBackward, this->array(R"([null, null,
null, null])"),
+ this->array(R"([null, null, null, null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"([null, "40.00", null, null,
null])"),
+ this->array(R"(["40.00", "40.00",null, null,
null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"([null, null, null, "40.00"])"),
+ this->array(R"(["40.00", "40.00", "40.00",
"40.00"])"));
+ this->AssertFillNullArray(FillNullBackward, this->array(R"([null, "40.00",
null])"),
+ this->array(R"(["40.00", "40.00", null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"([null, null, "40.00", null])"),
+ this->array(R"(["40.00", "40.00", "40.00",
null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"([null, null, null, "40.00",
null])"),
+ this->array(R"(["40.00", "40.00", "40.00",
"40.00", null])"));
+ this->AssertFillNullArray(
+ FillNullBackward, this->array(R"([null, null, "40.00",null, "50.00",
null])"),
+ this->array(R"(["40.00", "40.00", "40.00", "50.00", "50.00", null])"));
+
+ this->AssertFillNullArray(FillNullBackward, this->array(R"(["10.00",
"40.00", null])"),
+ this->array(R"(["10.00", "40.00", null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"(["10.00", "40.00", null, null,
null, null])"),
+ this->array(R"(["10.00", "40.00" ,null, null,
null, null])"));
+ this->AssertFillNullArray(
+ FillNullBackward, this->array(R"(["10.00", "40.00", null, "50.00", null,
null])"),
+ this->array(R"(["10.00", "40.00" , "50.00", "50.00", null, null])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["10.00", "40.00", null, "50.00", null, null, "6.00"])"),
+ this->array(R"(["10.00", "40.00" ,"50.00", "50.00", "6.00", "6.00",
"6.00"])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["10.00", "40.00", null, "50.00", null, null, "50.00"])"),
+ this->array(R"(["10.00", "40.00" ,"50.00" , "50.00", "50.00", "50.00",
"50.00"])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["10.00", "40.00", null, "50.00", null, "6.00", null])"),
+ this->array(R"(["10.00", "40.00" ,"50.00" , "50.00", "6.00", "6.00",
null])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["10.00", "40.00", null, "50.00", null, "6.00",
"7.00"])"),
+ this->array(R"(["10.00", "40.00" ,"50.00", "50.00", "6.00", "6.00",
"7.00"])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["10.00", "40.00" ,"50.00", "50.00", "6.00", "6.00",
"7.00"])"),
+ this->array(R"(["10.00", "40.00" ,"50.00", "50.00", "6.00", "6.00",
"7.00"])"));
+}
+
+TYPED_TEST(TestFillNullBinary, FillNullValuesBackward) {
+ this->AssertFillNullArray(FillNullBackward, this->array(R"([])"),
this->array(R"([])"));
+
+ this->AssertFillNullArray(FillNullBackward, this->array(R"([null, null,
null, null])"),
+ this->array(R"([null, null, null, null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"([null, "afd", null, null, null])"),
+ this->array(R"(["afd", "afd",null, null, null])"));
+ this->AssertFillNullArray(FillNullBackward, this->array(R"([null, null,
null, "afd"])"),
+ this->array(R"(["afd", "afd", "afd", "afd"])"));
+ this->AssertFillNullArray(FillNullBackward, this->array(R"([null, "afd",
null])"),
+ this->array(R"(["afd", "afd", null])"));
+ this->AssertFillNullArray(FillNullBackward, this->array(R"([null, null,
"afd", null])"),
+ this->array(R"(["afd", "afd", "afd", null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"([null, null, null, "afd", null])"),
+ this->array(R"(["afd", "afd", "afd", "afd",
null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"([null, null, "afd",null, "qwe",
null])"),
+ this->array(R"(["afd", "afd", "afd", "qwe", "qwe",
null])"));
+
+ this->AssertFillNullArray(FillNullBackward, this->array(R"(["tyu", "afd",
null])"),
+ this->array(R"(["tyu", "afd", null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"(["tyu", "afd", null, null, null,
null])"),
+ this->array(R"(["tyu", "afd" ,null, null, null,
null])"));
+ this->AssertFillNullArray(FillNullBackward,
+ this->array(R"(["tyu", "afd", null, "qwe", null,
null])"),
+ this->array(R"(["tyu", "afd" , "qwe", "qwe", null,
null])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["tyu", "afd", null, "qwe", null, null, "oiutyu"])"),
+ this->array(R"(["tyu", "afd" ,"qwe", "qwe", "oiutyu", "oiutyu",
"oiutyu"])"));
+ this->AssertFillNullArray(
+ FillNullBackward, this->array(R"(["tyu", "afd", null, "qwe", null, null,
"qwe"])"),
+ this->array(R"(["tyu", "afd" ,"qwe" , "qwe", "qwe", "qwe", "qwe"])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["tyu", "afd", null, "qwe", null, "oiutyu", null])"),
+ this->array(R"(["tyu", "afd" ,"qwe" , "qwe", "oiutyu", "oiutyu",
null])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["tyu", "afd", null, "qwe", null, "oiutyu",
"aaaagggbbb"])"),
+ this->array(R"(["tyu", "afd" ,"qwe", "qwe", "oiutyu", "oiutyu",
"aaaagggbbb"])"));
+ this->AssertFillNullArray(
+ FillNullBackward,
+ this->array(R"(["tyu", "afd" ,"qwe", "qwe", "oiutyu", "oiutyu",
"aaaagggbbb"])"),
+ this->array(R"(["tyu", "afd" ,"qwe", "qwe", "oiutyu", "oiutyu",
"aaaagggbbb"])"));
+}
+
+// For Test Blocks
+TYPED_TEST(TestFillNullNumeric, FillNullForwardLargeInput) {
+ using CType = typename TypeTraits<TypeParam>::CType;
+ random::RandomArrayGenerator rand(/*seed=*/1000);
+ int64_t len_null = 500;
+ int64_t len_random = 1000;
+ std::shared_ptr<Array> array_random =
+ rand.ArrayOf(this->type(), len_random, /*nulls=*/0);
+ auto x_ptr = array_random->data()->template GetValues<CType>(1);
+ ASSERT_OK_AND_ASSIGN(auto array_null, MakeArrayOfNull(array_random->type(),
len_null));
+ auto array_null_filled =
+ ConstantArrayGenerator::Numeric<TypeParam>(len_null, x_ptr[len_random -
1]);
+ {
+ ASSERT_OK_AND_ASSIGN(auto value_array,
+ Concatenate({array_random, array_null,
array_random}));
+ ASSERT_OK_AND_ASSIGN(auto result_array,
+ Concatenate({array_random, array_null_filled,
array_random}));
+ this->AssertFillNullArray(FillNullForward, value_array, result_array);
+ }
+}
+
+TYPED_TEST(TestFillNullNumeric, FillNullBackwardLargeInput) {
+ using CType = typename TypeTraits<TypeParam>::CType;
+ random::RandomArrayGenerator rand(/*seed=*/1000);
+ int64_t len_null = 500;
+ int64_t len_random = 1000;
+ std::shared_ptr<Array> array_random =
+ rand.ArrayOf(this->type(), len_random, /*nulls=*/0);
+ auto x_ptr = array_random->data()->template GetValues<CType>(1);
+ ASSERT_OK_AND_ASSIGN(auto array_null, MakeArrayOfNull(array_random->type(),
len_null));
+ auto array_null_filled =
ConstantArrayGenerator::Numeric<TypeParam>(len_null, x_ptr[0]);
+ {
+ ASSERT_OK_AND_ASSIGN(auto value_array,
+ Concatenate({array_random, array_null,
array_random}));
+ ASSERT_OK_AND_ASSIGN(auto result_array,
+ Concatenate({array_random, array_null_filled,
array_random}));
+ this->AssertFillNullArray(FillNullBackward, value_array, result_array);
+ }
+}
+
+TYPED_TEST(TestFillNullNumeric, FillNullForwardSliced) {
+ auto first_input_array =
+ this->array("[1, 4, null, null, 7, null, null, 8, 9, 5, null]");
+ auto expected_slice_length_2 =
+ this->array("[1, 4, null, null, 7, 7, null, 8, 9, 5, null]");
+ auto expected_slice_length_3 = this->array("[1, 4, 4, null, 7, 7, null, 8,
9, 5, 5]");
+ auto expected_slice_length_4 = this->array("[1, 4, 4, 4, 7, 7, 7, 8, 9, 5,
5]");
+ this->AssertFillNullArraySlices(FillNullForward, first_input_array,
+ expected_slice_length_2,
expected_slice_length_3,
+ expected_slice_length_4);
+}
+
+TYPED_TEST(TestFillNullBinary, FillNullForwardSliced) {
+ auto first_input_array = this->array(
+ R"(["avb", "iyy", null, null, "mnh", null, null, "ttr", "gfd", "lkj",
null])");
+ auto expected_slice_length_2 = this->array(
+ R"(["avb", "iyy", null, null, "mnh", "mnh", null, "ttr", "gfd", "lkj",
null])");
+ auto expected_slice_length_3 = this->array(
+ R"(["avb", "iyy", "iyy", null, "mnh", "mnh", null, "ttr", "gfd", "lkj",
"lkj"])");
+ auto expected_slice_length_4 = this->array(
+ R"(["avb", "iyy", "iyy", "iyy", "mnh", "mnh", "mnh", "ttr", "gfd",
"lkj", "lkj"])");
+
+ this->AssertFillNullArraySlices(FillNullForward, first_input_array,
+ expected_slice_length_2,
expected_slice_length_3,
+ expected_slice_length_4);
+}
+
+TYPED_TEST(TestFillNullNumeric, FillNullForwardRandomSliced) {
+ using CType = typename TypeTraits<TypeParam>::CType;
+ random::RandomArrayGenerator rand(/*seed=*/666);
+ int64_t len_random = 64;
+ int64_t len_null = 64;
+ int64_t slices = 15;
+ std::vector<std::shared_ptr<Array>> vector_values;
+ std::vector<std::shared_ptr<Array>> vector_filled;
+ for (int i = 0; i < slices; i++) {
+ std::shared_ptr<Array> array_random =
+ rand.Numeric<TypeParam>(len_random, /*min=*/5, /*max=*/200,
/*null_count=*/0);
+ if (array_random) {
Review comment:
Can these checks be eliminated?
That said, I'm not sure we need random tests for slicing. I think the
hardcoded ones should be sufficient.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]