@@ -1156,51 +1156,32 @@ TEST_F(TestBinaryBuilder, TestScalarAppend) {
1156
1156
}
1157
1157
1158
1158
TEST_F (TestBinaryBuilder, TestCapacityReserve) {
1159
- vector<string> strings = {" a" , " bb" , " cc" , " ddddd" , " eeeee" };
1160
- int64_t N = static_cast <int >(strings.size ());
1159
+ vector<string> strings = {" aaaaa" , " bbbbbbbbbb" , " ccccccccccccccc" , " dddddddddddddddddddd" , " eeeeeeeeee" };
1160
+ int N = static_cast <int >(strings.size ());
1161
+ int reps = 10 ;
1161
1162
int64_t length = 0 ;
1162
- int64_t data_length = 0 ;
1163
- int64_t capacity = N;
1164
-
1165
- ASSERT_OK (builder_->Reserve (capacity));
1163
+ int64_t capacity = 1000 ;
1164
+
1165
+
1166
1166
ASSERT_OK (builder_->ReserveData (capacity));
1167
1167
1168
- ASSERT_EQ (builder_->length (), length);
1169
- ASSERT_EQ (builder_->capacity (), BitUtil::NextPower2 (capacity));
1170
- ASSERT_EQ (builder_->value_data_length (), data_length);
1171
- ASSERT_EQ (builder_->value_data_capacity (), capacity);
1168
+ ASSERT_EQ (length, builder_->value_data_length ());
1169
+ ASSERT_EQ (BitUtil::RoundUpToMultipleOf64 (capacity), builder_->value_data_capacity ());
1172
1170
1173
- for ( const string& str : strings ) {
1174
- ASSERT_OK (builder_-> Append (str));
1175
- length++ ;
1176
- data_length += static_cast <int >(str .size ());
1171
+ for ( int j = 0 ; j < reps; ++j ) {
1172
+ for ( int i = 0 ; i < N; ++i) {
1173
+ ASSERT_OK (builder_-> Append (strings[i])) ;
1174
+ length += static_cast <int >(strings[i] .size ());
1177
1175
1178
- ASSERT_EQ (builder_->length (), length);
1179
- ASSERT_EQ (builder_->capacity (), BitUtil::NextPower2 (capacity));
1180
- ASSERT_EQ (builder_->value_data_length (), data_length);
1181
- if (data_length <= capacity) {
1182
- ASSERT_EQ (builder_->value_data_capacity (), capacity);
1183
- } else {
1184
- ASSERT_EQ (builder_->value_data_capacity (), data_length);
1176
+ ASSERT_EQ (length, builder_->value_data_length ());
1177
+ ASSERT_EQ (BitUtil::RoundUpToMultipleOf64 (capacity), builder_->value_data_capacity ());
1185
1178
}
1186
1179
}
1187
-
1188
- int extra_capacity = 20 ;
1189
-
1190
- ASSERT_OK (builder_->Reserve (extra_capacity));
1191
- ASSERT_OK (builder_->ReserveData (extra_capacity));
1192
-
1193
- ASSERT_EQ (builder_->length (), length);
1194
- ASSERT_EQ (builder_->capacity (), BitUtil::NextPower2 (length + extra_capacity));
1195
- ASSERT_EQ (builder_->value_data_length (), data_length);
1196
- ASSERT_EQ (builder_->value_data_capacity (), data_length + extra_capacity);
1197
-
1198
1180
Done ();
1199
-
1200
- ASSERT_EQ (result_->length (), N);
1201
- ASSERT_EQ (result_->null_count (), 0 );
1202
- ASSERT_EQ (result_->value_data ()->size (), data_length);
1203
- ASSERT_EQ (result_->value_data ()->capacity (), BitUtil::RoundUpToMultipleOf64 (data_length + extra_capacity));
1181
+ ASSERT_EQ (reps * N, result_->length ());
1182
+ ASSERT_EQ (0 , result_->null_count ());
1183
+ ASSERT_EQ (reps * 60 , result_->value_data ()->size ());
1184
+ ASSERT_EQ (BitUtil::RoundUpToMultipleOf64 (capacity), result_->value_data ()->capacity ());
1204
1185
}
1205
1186
1206
1187
TEST_F (TestBinaryBuilder, TestZeroLength) {
0 commit comments