| 812 | } |
| 813 | |
| 814 | void CheckCorrectDictCrc(const std::string& file_path, |
| 815 | bool page_checksum_verification) { |
| 816 | reader_props_.set_page_checksum_verification(page_checksum_verification); |
| 817 | { |
| 818 | // Exercise column readers |
| 819 | OpenExampleFile(file_path); |
| 820 | CheckReadBatches<Int64Type>(/*col_index=*/0, kDictPageValuesPerColumn); |
| 821 | CheckReadBatches<ByteArrayType>(/*col_index=*/1, kDictPageValuesPerColumn); |
| 822 | } |
| 823 | { |
| 824 | // Exercise page readers directly |
| 825 | OpenExampleFile(file_path); |
| 826 | for (auto& page_reader : page_readers_) { |
| 827 | // read dict page |
| 828 | EXPECT_NE(nullptr, page_reader->NextPage()); |
| 829 | // read data page |
| 830 | EXPECT_NE(nullptr, page_reader->NextPage()); |
| 831 | } |
| 832 | } |
| 833 | } |
| 834 | |
| 835 | void CheckNextPageCorrupt(PageReader* page_reader) { |
| 836 | AssertCrcValidationError([&]() { page_reader->NextPage(); }); |