@@ -326,6 +326,85 @@ TEST_CASE("string_collection clear", "[collections]")
326
326
REQUIRE (size_t (0 ) == sc.size ());
327
327
}
328
328
329
+
330
+ // ----------------------------------------------------------------------
331
+ // Test the const_iterator class
332
+ // ----------------------------------------------------------------------
333
+
334
+ TEST_CASE (" string_collection for each" , " [collections]" )
335
+ {
336
+ string_collection sc (VEC);
337
+
338
+ size_t i = 0u ;
339
+ for (const auto & string : sc) {
340
+ REQUIRE (sc[i] == sc[i]);
341
+ ++i;
342
+ }
343
+ REQUIRE (i == sc.size ());
344
+ }
345
+
346
+ TEST_CASE (" string_collection iterator for with advance" , " [collections]" )
347
+ {
348
+ string_collection sc (VEC);
349
+
350
+ size_t i = 0u ;
351
+ for (auto it = sc.begin (); it != sc.end (); std::advance (it, 1 )) {
352
+ REQUIRE (*it == sc[i]);
353
+ ++i;
354
+ }
355
+ REQUIRE (i == sc.size ());
356
+ }
357
+
358
+ TEST_CASE (" string_collection iterator for with pre-increment" , " [collections]" )
359
+ {
360
+ string_collection sc (VEC);
361
+
362
+ size_t i = 0u ;
363
+ for (auto it = sc.begin (); it != sc.end (); ++it) {
364
+ REQUIRE (*it == sc[i]);
365
+ ++i;
366
+ }
367
+ REQUIRE (i == sc.size ());
368
+ }
369
+
370
+ TEST_CASE (" string_collection iterator for with post increment" , " [collections]" )
371
+ {
372
+ string_collection sc (VEC);
373
+
374
+ size_t i = 0u ;
375
+ for (auto it = sc.begin (); it != sc.end (); it++) {
376
+ REQUIRE (*it == sc[i]);
377
+ ++i;
378
+ }
379
+ REQUIRE (i == sc.size ());
380
+ }
381
+
382
+ TEST_CASE (" string_collection begin" , " [collections]" )
383
+ {
384
+ string_collection sc (VEC);
385
+
386
+ REQUIRE (*(sc.begin ()) == sc[0u ]);
387
+ }
388
+
389
+ TEST_CASE (" string_collection std copy" , " [collections]" )
390
+ {
391
+ string_collection sc (VEC);
392
+
393
+ std::vector<std::string> output;
394
+ std::copy (
395
+ sc.begin (),
396
+ sc.end (),
397
+ std::back_inserter (output)
398
+ );
399
+
400
+ REQUIRE (sc.size () == output.size ());
401
+
402
+ for (size_t i = 0u ; i < sc.size (); ++i) {
403
+ REQUIRE (sc[i] == output[i]);
404
+ }
405
+ }
406
+
407
+
329
408
// ///////////////////////////////////////////////////////////////////////////
330
409
// name_value_collection
331
410
// ///////////////////////////////////////////////////////////////////////////
0 commit comments