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

Function test

source/unit_test/src/core/UnitTestCoreString.cpp:68–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66}
67
68void test()
69{
70 String e;
71 String s = String::FromUtf8("abcdABCDАБВГДабвгд");
72
73 EXPECT_EQ(s.Size(), 18U);
74 EXPECT_TRUE(!s.IsEmpty());
75 EXPECT_EQ(e.Size(), 0U);
76 EXPECT_TRUE(e.IsEmpty());
77
78 e = s;
79 s.Clear();
80
81 EXPECT_EQ(s.Size(), 0U);
82 EXPECT_TRUE(s.IsEmpty());
83 EXPECT_EQ(e.Size(), 18U);
84 EXPECT_TRUE(!e.IsEmpty());
85
86 EXPECT_EQ(e[1], U'b');
87 EXPECT_EQ(e[9], U'Б');
88
89 s = String::FromUtf8("acdABCАВГДабвгд");
90 s = String::FromUtf8("abcdABCDАБВГДабвгд");
91
92 EXPECT_EQ(s[3], U'd');
93 EXPECT_EQ(s[11], U'Г');
94
95 s = '0';
96
97 EXPECT_EQ(s.Size(), 1U);
98
99 String::Utf8 utf = String::FromUtf8("abcdABCDАБВГДабвгд").utf8_str();
100 EXPECT_EQ(strcmp(utf.GetData(), "abcdABCDАБВГДабвгд"), 0);
101
102 EXPECT_EQ(utf.Size(), 29U);
103 EXPECT_EQ(utf.At(0), 0x61);
104 EXPECT_EQ(utf.At(4), 0x41);
105 EXPECT_EQ(utf.At(16), (char)0xD0);
106 EXPECT_EQ(utf.At(17), (char)0x94);
107
108 String::Utf8 cp866 = String::FromUtf8("abcABCАБВабвЭЮЯэюя╫▓").cp866_str();
109
110 EXPECT_EQ(cp866.Size(), 21U);
111 EXPECT_EQ(cp866.At(0), 0x61);
112 EXPECT_EQ(cp866.At(3), 0x41);
113 EXPECT_EQ(cp866.At(9), (char)0xA0);
114 EXPECT_EQ(cp866.At(19), (char)0xB2);
115
116 String ss = String::FromUtf8("abcd");
117 ss += String::FromUtf8("efgh");
118 EXPECT_EQ(strcmp(ss.utf8_str().GetData(), "abcdefgh"), 0);
119
120 String sum1 = String::FromUtf8("ab1") + String::FromUtf8("cd2");
121 String sum2 = sum1 + U"cd2" + U"апр";
122
123 EXPECT_TRUE(sum2 == "ab1cd2cd2апр");
124 EXPECT_TRUE(sum2.EqualNoCase("AB1CD2CD2АПР"));
125 EXPECT_TRUE(sum2 != "ab1cd2cd2апР");

Callers 1

TESTFunction · 0.70

Calls 13

utf8_strMethod · 0.80
AtMethod · 0.80
cp866_strMethod · 0.80
EqualNoCaseMethod · 0.80
ToUpperMethod · 0.80
ToLowerMethod · 0.80
SizeMethod · 0.45
IsEmptyMethod · 0.45
ClearMethod · 0.45
GetDataMethod · 0.45
MidMethod · 0.45
LeftMethod · 0.45

Tested by

no test coverage detected