MCPcopy Create free account
hub / github.com/apache/arrow / AssertNullToNull

Function AssertNullToNull

cpp/src/arrow/compute/kernels/scalar_arithmetic_test.cc:71–88  ·  view source on GitHub ↗

Assert that all-null-type inputs results in a null-type output.

Source from the content-addressed store, hash-verified

69
70// Assert that all-null-type inputs results in a null-type output.
71void AssertNullToNull(const std::string& func_name) {
72 SCOPED_TRACE(func_name);
73 ASSERT_OK_AND_ASSIGN(auto func, GetFunctionRegistry()->GetFunction(func_name));
74 ASSERT_OK_AND_ASSIGN(auto nulls, MakeArrayOfNull(null(), /*length=*/7));
75 const auto n = func->arity().num_args;
76
77 {
78 std::vector<Datum> args(n, nulls);
79 ASSERT_OK_AND_ASSIGN(auto result, CallFunction(func_name, args));
80 AssertArraysEqual(*nulls, *result.make_array(), /*verbose=*/true);
81 }
82
83 {
84 std::vector<Datum> args(n, Datum(std::make_shared<NullScalar>()));
85 ASSERT_OK_AND_ASSIGN(auto result, CallFunction(func_name, args));
86 AssertScalarsEqual(NullScalar(), *result.scalar(), /*verbose=*/true);
87 }
88}
89
90template <typename T>
91class TestBaseArithmetic : public ::testing::Test {

Callers 1

TESTFunction · 0.85

Calls 6

AssertArraysEqualFunction · 0.85
AssertScalarsEqualFunction · 0.85
make_arrayMethod · 0.80
DatumClass · 0.50
NullScalarFunction · 0.50
scalarMethod · 0.45

Tested by

no test coverage detected