| 438 | } |
| 439 | |
| 440 | void test_list() |
| 441 | { |
| 442 | StringList8 list = String8(" a b У р e ").Split(" "); |
| 443 | |
| 444 | EXPECT_EQ(list[0], "a"); |
| 445 | EXPECT_EQ(list[1], "b"); |
| 446 | EXPECT_EQ(list[2], "У"); |
| 447 | EXPECT_EQ(list[3], "р"); |
| 448 | EXPECT_EQ(list[4], "e"); |
| 449 | |
| 450 | list = String8(",a,b,,У,р,e,").Split(",", String8::SplitType::WithEmptyParts); |
| 451 | |
| 452 | EXPECT_EQ(list[0], ""); |
| 453 | EXPECT_EQ(list[1], "a"); |
| 454 | EXPECT_EQ(list[2], "b"); |
| 455 | EXPECT_EQ(list[3], ""); |
| 456 | EXPECT_EQ(list[4], "У"); |
| 457 | EXPECT_EQ(list[5], "р"); |
| 458 | EXPECT_EQ(list[6], "e"); |
| 459 | EXPECT_EQ(list[7], ""); |
| 460 | |
| 461 | list = String8("qaQbqqУQрqeQ").Split("q", String8::SplitType::SplitNoEmptyParts); |
| 462 | |
| 463 | EXPECT_EQ(list[0], "aQb"); |
| 464 | EXPECT_EQ(list[1], "УQр"); |
| 465 | EXPECT_EQ(list[2], "eQ"); |
| 466 | |
| 467 | StringList8 list2 = list; |
| 468 | |
| 469 | list[0] = String8("a"); |
| 470 | list[1] = "b"; |
| 471 | list[2] = "c"; |
| 472 | |
| 473 | EXPECT_EQ(list2[0], "aQb"); |
| 474 | EXPECT_EQ(list2[1], "УQр"); |
| 475 | EXPECT_EQ(list2[2], "eQ"); |
| 476 | |
| 477 | EXPECT_TRUE(list.Contains("b")); |
| 478 | EXPECT_TRUE(!list.Contains("B")); |
| 479 | |
| 480 | EXPECT_TRUE(String8("fdabn").ContainsAnyStr(list)); |
| 481 | EXPECT_TRUE(!String8("Cfdabn").ContainsAllStr(list)); |
| 482 | EXPECT_TRUE(String8("cfdabn").ContainsAllStr(list)); |
| 483 | |
| 484 | EXPECT_EQ(list.Concat(", "), "a, b, c"); |
| 485 | |
| 486 | auto chars = list.Concat(""); |
| 487 | |
| 488 | EXPECT_TRUE(String8("fdabn").ContainsAnyChar(chars)); |
| 489 | EXPECT_TRUE(!String8("Cfdabn").ContainsAllChar(chars)); |
| 490 | EXPECT_TRUE(String8("cfdabn").ContainsAllChar(chars)); |
| 491 | |
| 492 | StringList8 l1 = String8("a b c d e f").Split(" "); |
| 493 | StringList8 l2 = String8("a b c d e f").Split(" "); |
| 494 | EXPECT_TRUE(l1.Equal(l2)); |
| 495 | EXPECT_TRUE(l1 == l2); |
| 496 | l1.Add("Q"); |
| 497 | EXPECT_TRUE(!l1.Equal(l2)); |
no test coverage detected