| 532 | } |
| 533 | |
| 534 | void TestScalarAppend() { |
| 535 | std::vector<std::string> strings = {"", "bb", "a", "", "ccc"}; |
| 536 | std::vector<uint8_t> is_valid = {1, 1, 1, 0, 1}; |
| 537 | |
| 538 | int N = static_cast<int>(strings.size()); |
| 539 | int reps = 10; |
| 540 | |
| 541 | for (int j = 0; j < reps; ++j) { |
| 542 | for (int i = 0; i < N; ++i) { |
| 543 | if (!is_valid[i]) { |
| 544 | ASSERT_OK(builder_->AppendNull()); |
| 545 | } else { |
| 546 | ASSERT_OK(builder_->Append(strings[i])); |
| 547 | } |
| 548 | } |
| 549 | } |
| 550 | Done(); |
| 551 | |
| 552 | ASSERT_EQ(reps * N, result_->length()); |
| 553 | ASSERT_EQ(reps, result_->null_count()); |
| 554 | ASSERT_EQ(reps * 6, result_->value_data()->size()); |
| 555 | |
| 556 | CheckStringArray(*result_, strings, is_valid, reps); |
| 557 | } |
| 558 | |
| 559 | void TestScalarAppendUnsafe() { |
| 560 | std::vector<std::string> strings = {"", "bb", "a", "", "ccc"}; |
no test coverage detected