| 72 | void MakeChunker() { chunker_ = ::arrow::csv::MakeChunker(options_); } |
| 73 | |
| 74 | void AssertSkip(const std::string& str, int64_t count, int64_t rem_count, |
| 75 | int64_t rest_size) { |
| 76 | MakeChunker(); |
| 77 | { |
| 78 | auto test_count = count; |
| 79 | auto partial = std::make_shared<Buffer>(""); |
| 80 | auto block = std::make_shared<Buffer>(reinterpret_cast<const uint8_t*>(str.data()), |
| 81 | static_cast<int64_t>(str.size())); |
| 82 | std::shared_ptr<Buffer> rest; |
| 83 | ASSERT_OK(chunker_->ProcessSkip(partial, block, true, &test_count, &rest)); |
| 84 | ASSERT_EQ(rem_count, test_count); |
| 85 | ASSERT_EQ(rest_size, rest->size()); |
| 86 | AssertBufferEqual(*SliceBuffer(block, block->size() - rest_size), *rest); |
| 87 | } |
| 88 | { |
| 89 | auto test_count = count; |
| 90 | auto split = static_cast<int64_t>(str.find_first_of('\n')); |
| 91 | auto partial = |
| 92 | std::make_shared<Buffer>(reinterpret_cast<const uint8_t*>(str.data()), split); |
| 93 | auto block = |
| 94 | std::make_shared<Buffer>(reinterpret_cast<const uint8_t*>(str.data() + split), |
| 95 | static_cast<int64_t>(str.size()) - split); |
| 96 | std::shared_ptr<Buffer> rest; |
| 97 | ASSERT_OK(chunker_->ProcessSkip(partial, block, true, &test_count, &rest)); |
| 98 | ASSERT_EQ(rem_count, test_count); |
| 99 | ASSERT_EQ(rest_size, rest->size()); |
| 100 | AssertBufferEqual(*SliceBuffer(block, block->size() - rest_size), *rest); |
| 101 | } |
| 102 | } |
| 103 | |
| 104 | ParseOptions options_; |
| 105 | std::unique_ptr<Chunker> chunker_; |
nothing calls this directly
no test coverage detected