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

Function TEST

cpp/src/arrow/compute/kernels/aggregate_test.cc:151–205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

149}
150
151TEST(TestBooleanAggregation, Sum) {
152 const ScalarAggregateOptions& options = ScalarAggregateOptions::Defaults();
153 ValidateBooleanAgg<Sum>("[]", std::make_shared<UInt64Scalar>(), options);
154 ValidateBooleanAgg<Sum>("[null]", std::make_shared<UInt64Scalar>(), options);
155 ValidateBooleanAgg<Sum>("[null, false]", std::make_shared<UInt64Scalar>(0), options);
156 ValidateBooleanAgg<Sum>("[true]", std::make_shared<UInt64Scalar>(1), options);
157 ValidateBooleanAgg<Sum>("[true, false, true]", std::make_shared<UInt64Scalar>(2),
158 options);
159 ValidateBooleanAgg<Sum>("[true, false, true, true, null]",
160 std::make_shared<UInt64Scalar>(3), options);
161
162 const ScalarAggregateOptions& options_min_count_zero =
163 ScalarAggregateOptions(/*skip_nulls=*/true, /*min_count=*/0);
164 ValidateBooleanAgg<Sum>("[]", std::make_shared<UInt64Scalar>(0),
165 options_min_count_zero);
166 ValidateBooleanAgg<Sum>("[null]", std::make_shared<UInt64Scalar>(0),
167 options_min_count_zero);
168
169 std::string json = "[true, null, false, null]";
170 ValidateBooleanAgg<Sum>(json, std::make_shared<UInt64Scalar>(1),
171 ScalarAggregateOptions(/*skip_nulls=*/true, /*min_count=*/1));
172 ValidateBooleanAgg<Sum>(json, std::make_shared<UInt64Scalar>(1),
173 ScalarAggregateOptions(/*skip_nulls=*/true, /*min_count=*/2));
174 ValidateBooleanAgg<Sum>(json, std::make_shared<UInt64Scalar>(),
175 ScalarAggregateOptions(/*skip_nulls=*/true, /*min_count=*/3));
176 ValidateBooleanAgg<Sum>("[]", std::make_shared<UInt64Scalar>(0),
177 ScalarAggregateOptions(/*skip_nulls=*/false, /*min_count=*/0));
178 ValidateBooleanAgg<Sum>(json, std::make_shared<UInt64Scalar>(),
179 ScalarAggregateOptions(/*skip_nulls=*/false, /*min_count=*/0));
180 ValidateBooleanAgg<Sum>("[]", std::make_shared<UInt64Scalar>(),
181 ScalarAggregateOptions(/*skip_nulls=*/false, /*min_count=*/3));
182 ValidateBooleanAgg<Sum>(json, std::make_shared<UInt64Scalar>(),
183 ScalarAggregateOptions(/*skip_nulls=*/false, /*min_count=*/3));
184
185 json = "[true, false]";
186 ValidateBooleanAgg<Sum>(json, std::make_shared<UInt64Scalar>(1),
187 ScalarAggregateOptions(/*skip_nulls=*/false, /*min_count=*/1));
188 ValidateBooleanAgg<Sum>(json, std::make_shared<UInt64Scalar>(1),
189 ScalarAggregateOptions(/*skip_nulls=*/false, /*min_count=*/2));
190 ValidateBooleanAgg<Sum>(json, std::make_shared<UInt64Scalar>(),
191 ScalarAggregateOptions(/*skip_nulls=*/false, /*min_count=*/3));
192
193 EXPECT_THAT(Sum(MakeScalar(true)),
194 ResultWith(Datum(std::make_shared<UInt64Scalar>(1))));
195 EXPECT_THAT(Sum(MakeScalar(false)),
196 ResultWith(Datum(std::make_shared<UInt64Scalar>(0))));
197 EXPECT_THAT(Sum(MakeNullScalar(boolean())),
198 ResultWith(Datum(MakeNullScalar(uint64()))));
199 EXPECT_THAT(Sum(MakeNullScalar(boolean()),
200 ScalarAggregateOptions(/*skip_nulls=*/true, /*min_count=*/0)),
201 ResultWith(ScalarFromJSON(uint64(), "0")));
202 EXPECT_THAT(Sum(MakeNullScalar(boolean()),
203 ScalarAggregateOptions(/*skip_nulls=*/false, /*min_count=*/0)),
204 ResultWith(ScalarFromJSON(uint64(), "null")));
205}
206
207TEST(TestBooleanAggregation, Product) {
208 const ScalarAggregateOptions& options = ScalarAggregateOptions::Defaults();

Callers 1

ASSERT_OK_AND_ASSIGNFunction · 0.70

Calls 15

SumFunction · 0.85
MakeScalarFunction · 0.85
ResultWithFunction · 0.85
MakeNullScalarFunction · 0.85
ScalarFromJSONFunction · 0.85
ProductFunction · 0.85
MeanFunction · 0.85
AssertDatumsApproxEqualFunction · 0.85
decimal256Function · 0.85
ArrayFromJSONFunction · 0.85
ChunkedArrayFromJSONFunction · 0.85
ValidateCountFunction · 0.85

Tested by

no test coverage detected