| 645 | } |
| 646 | |
| 647 | void TestVectorAppend() { |
| 648 | std::vector<std::string> strings = {"", "bb", "a", "", "ccc"}; |
| 649 | std::vector<uint8_t> valid_bytes = {1, 1, 1, 0, 1}; |
| 650 | |
| 651 | int N = static_cast<int>(strings.size()); |
| 652 | int reps = 1000; |
| 653 | |
| 654 | for (int j = 0; j < reps; ++j) { |
| 655 | ASSERT_OK(builder_->AppendValues(strings, valid_bytes.data())); |
| 656 | } |
| 657 | Done(); |
| 658 | |
| 659 | ASSERT_EQ(reps * N, result_->length()); |
| 660 | ASSERT_EQ(reps, result_->null_count()); |
| 661 | ASSERT_EQ(reps * 6, result_->value_data()->size()); |
| 662 | |
| 663 | CheckStringArray(*result_, strings, valid_bytes, reps); |
| 664 | } |
| 665 | |
| 666 | void TestAppendCStringsWithValidBytes() { |
| 667 | const char* strings[] = {nullptr, "aaa", nullptr, "ignored", ""}; |
no test coverage detected