| 1457 | } |
| 1458 | |
| 1459 | void CheckReadValues(int start, int end) { |
| 1460 | auto binary_reader = dynamic_cast<BinaryRecordReader*>(record_reader_.get()); |
| 1461 | ASSERT_NE(binary_reader, nullptr); |
| 1462 | // Chunks are reset after this call. |
| 1463 | ::arrow::ArrayVector array_vector = binary_reader->GetBuilderChunks(); |
| 1464 | ASSERT_EQ(array_vector.size(), 1); |
| 1465 | auto binary_array = |
| 1466 | dynamic_cast<::arrow::FixedSizeBinaryArray*>(array_vector[0].get()); |
| 1467 | |
| 1468 | ASSERT_NE(binary_array, nullptr); |
| 1469 | ASSERT_EQ(binary_array->length(), record_reader_->values_written()); |
| 1470 | if (read_dense_for_nullable()) { |
| 1471 | ASSERT_EQ(binary_array->null_count(), 0); |
| 1472 | ASSERT_EQ(record_reader_->null_count(), 0); |
| 1473 | } else { |
| 1474 | ASSERT_EQ(binary_array->null_count(), record_reader_->null_count()); |
| 1475 | } |
| 1476 | |
| 1477 | std::vector<std::string_view> expected = expected_values(start, end); |
| 1478 | for (size_t i = 0; i < expected.size(); ++i) { |
| 1479 | if (def_levels_[i + start] == 0) { |
| 1480 | ASSERT_EQ(!read_dense_for_nullable(), binary_array->IsNull(i)); |
| 1481 | } else { |
| 1482 | ASSERT_EQ(expected[i].compare(binary_array->GetView(i)), 0); |
| 1483 | ASSERT_FALSE(binary_array->IsNull(i)); |
| 1484 | } |
| 1485 | } |
| 1486 | } |
| 1487 | |
| 1488 | protected: |
| 1489 | std::shared_ptr<internal::RecordReader> record_reader_; |
nothing calls this directly
no test coverage detected