MCPcopy Create free account
hub / github.com/InoriRus/Kyty / test_list

Function test_list

source/unit_test/src/core/UnitTestCoreString.cpp:641–715  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

639}
640
641void test_list()
642{
643 StringList list = String(U" a b У р e ").Split(U" ");
644
645 EXPECT_EQ(list[0], "a");
646 EXPECT_EQ(list[1], "b");
647 EXPECT_EQ(list[2], "У");
648 EXPECT_EQ(list[3], "р");
649 EXPECT_EQ(list[4], "e");
650
651 list = String(U",a,b,,У,р,e,").Split(U",", String::SplitType::WithEmptyParts);
652
653 EXPECT_EQ(list[0], "");
654 EXPECT_EQ(list[1], "a");
655 EXPECT_EQ(list[2], "b");
656 EXPECT_EQ(list[3], "");
657 EXPECT_EQ(list[4], "У");
658 EXPECT_EQ(list[5], "р");
659 EXPECT_EQ(list[6], "e");
660 EXPECT_EQ(list[7], "");
661
662 list = String(U"qaQbqqУQрqeQ").Split(U"q", String::SplitType::SplitNoEmptyParts, String::Case::Insensitive);
663
664 EXPECT_EQ(list[0], "a");
665 EXPECT_EQ(list[1], "b");
666 EXPECT_EQ(list[2], "У");
667 EXPECT_EQ(list[3], "р");
668 EXPECT_EQ(list[4], "e");
669
670 list = String(U"qaQbqqУQрqeQ").Split(U"q", String::SplitType::SplitNoEmptyParts, String::Case::Sensitive);
671
672 EXPECT_EQ(list[0], "aQb");
673 EXPECT_EQ(list[1], "УQр");
674 EXPECT_EQ(list[2], "eQ");
675
676 StringList list2 = list;
677
678 list[0] = String::FromUtf8("a");
679 list[1] = U"b";
680 list[2] = U"c";
681
682 EXPECT_EQ(list2[0], "aQb");
683 EXPECT_EQ(list2[1], "УQр");
684 EXPECT_EQ(list2[2], "eQ");
685
686 EXPECT_TRUE(list.Contains(U"b"));
687 EXPECT_TRUE(!list.Contains(U"B"));
688 EXPECT_TRUE(list.Contains(U"B", String::Case::Insensitive));
689
690 EXPECT_TRUE(String(U"fdabn").ContainsAnyStr(list));
691 EXPECT_TRUE(!String(U"Cfdabn").ContainsAllStr(list));
692 EXPECT_TRUE(String(U"cfdabn").ContainsAllStr(list));
693 EXPECT_TRUE(String(U"Cfdabn").ContainsAllStr(list, String::Case::Insensitive));
694
695 EXPECT_EQ(list.Concat(U", "), U"a, b, c");
696
697 auto chars = list.Concat(U"");
698

Callers 1

TESTFunction · 0.70

Calls 11

EqualNoCaseMethod · 0.80
StringClass · 0.50
SplitMethod · 0.45
ContainsMethod · 0.45
ContainsAnyStrMethod · 0.45
ContainsAllStrMethod · 0.45
ConcatMethod · 0.45
ContainsAnyCharMethod · 0.45
ContainsAllCharMethod · 0.45
EqualMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected