MCPcopy Create free account
hub / github.com/catboost/catboost / insert

Method insert

util/generic/string_ut.cpp:342–412  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

340#endif
341
342 void insert() {
343 TStringType strorg = Data_.This_is_test_string_for_string_calls();
344 TStringType str;
345
346 // In case of reallocation there is no auto reference problem
347 // so we reserve a big enough TStringType to be sure to test this
348 // particular point.
349
350 str.reserve(100);
351 str = strorg;
352
353 // test self insertion:
354 str.insert(10, str.c_str() + 5, 15);
355 UNIT_ASSERT(str == Data_.This_is_teis_test_string_st_string_for_string_calls());
356
357 str = strorg;
358 str.insert(15, str.c_str() + 5, 25);
359 UNIT_ASSERT(str == Data_.This_is_test_stis_test_string_for_stringring_for_string_calls());
360
361 str = strorg;
362 str.insert(0, str.c_str() + str.size() - 4, 4);
363 UNIT_ASSERT(str == Data_.allsThis_is_test_string_for_string_calls());
364
365 str = strorg;
366 str.insert(0, str.c_str() + str.size() / 2 - 1, str.size() / 2 + 1);
367 UNIT_ASSERT(str == Data_.ng_for_string_callsThis_is_test_string_for_string_calls());
368
369 str = strorg;
370 typename TStringType::iterator b = str.begin();
371 typename TStringType::const_iterator s = str.begin() + str.size() / 2 - 1;
372 typename TStringType::const_iterator e = str.end();
373 str.insert(b, s, e);
374 UNIT_ASSERT(str == Data_.ng_for_string_callsThis_is_test_string_for_string_calls());
375
376#if 0
377 // AV
378 str = strorg;
379 str.insert(str.begin(), str.begin() + str.size() / 2 - 1, str.end());
380 UNIT_ASSERT(str == Data.ng_for_string_callsThis_is_test_string_for_string_calls());
381#endif
382
383 TStringType str0;
384 str0.insert(str0.begin(), 5, *Data_._0());
385 UNIT_ASSERT(str0 == Data_._00000());
386
387 TStringType str1;
388 {
389 typename TStringType::size_type pos = 0, nb = 2;
390 str1.insert(pos, nb, *Data_._1());
391 }
392 UNIT_ASSERT(str1 == Data_._11());
393
394 str0.insert(0, str1);
395 UNIT_ASSERT(str0 == Data_._1100000());
396
397 TStringType str2(Data_._2345());
398 str0.insert(str0.size(), str2, 1, 2);
399 UNIT_ASSERT(str0 == Data_._110000034());

Callers 1

eraseMethod · 0.45

Tested by

no test coverage detected