| 213 | class TestPropagateNulls : public TestComputeInternals {}; |
| 214 | |
| 215 | TEST_F(TestPropagateNulls, UnknownNullCountWithNullsZeroCopies) { |
| 216 | const int64_t length = 16; |
| 217 | |
| 218 | constexpr uint8_t validity_bitmap[8] = {254, 0, 0, 0, 0, 0, 0, 0}; |
| 219 | auto nulls = std::make_shared<Buffer>(validity_bitmap, 8); |
| 220 | |
| 221 | ArrayData output(boolean(), length, {nullptr, nullptr}); |
| 222 | ArrayData input(boolean(), length, {nulls, nullptr}, kUnknownNullCount); |
| 223 | |
| 224 | ExecBatch batch({input}, length); |
| 225 | ASSERT_OK(PropagateNulls(ctx_.get(), ExecSpan(batch), &output)); |
| 226 | ASSERT_EQ(nulls.get(), output.buffers[0].get()); |
| 227 | ASSERT_EQ(kUnknownNullCount, output.null_count); |
| 228 | ASSERT_EQ(9, output.GetNullCount()); |
| 229 | } |
| 230 | |
| 231 | TEST_F(TestPropagateNulls, UnknownNullCountWithoutNulls) { |
| 232 | const int64_t length = 16; |
nothing calls this directly
no test coverage detected