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

Method TestDecodingMethods

util/generic/string_ut.cpp:917–983  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

915
916private:
917 void TestDecodingMethods() {
918 UNIT_ASSERT(TUtf32String::FromAscii("").empty());
919 UNIT_ASSERT(TUtf32String::FromAscii("abc") == ASCIIToUTF32("abc"));
920
921 const char* text = "123kx83abcd ej)#$%ddja&%J&";
922 TUtf32String wtext = ASCIIToUTF32(text);
923
924 UNIT_ASSERT(wtext == TUtf32String::FromAscii(text));
925
926 TString strtext(text);
927 UNIT_ASSERT(wtext == TUtf32String::FromAscii(strtext));
928
929 TStringBuf strbuftext(text);
930 UNIT_ASSERT(wtext == TUtf32String::FromAscii(strbuftext));
931
932 UNIT_ASSERT(wtext.substr(5) == TUtf32String::FromAscii(text + 5));
933
934 const wchar32 wideCyrillicAlphabet[] = {
935 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
936 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
937 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
938 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,
939 0x00};
940
941 TUtf32String strWide(wideCyrillicAlphabet);
942 TString strUtf8 = WideToUTF8(strWide);
943
944 UNIT_ASSERT(strWide == TUtf32String::FromUtf8(strUtf8.c_str()));
945 UNIT_ASSERT(strWide == TUtf32String::FromUtf8(strUtf8));
946 UNIT_ASSERT(strWide == TUtf32String::FromUtf8(TStringBuf(strUtf8)));
947
948 // assign
949
950 TUtf32String s1;
951 s1.AssignAscii("1234");
952 UNIT_ASSERT(s1 == ASCIIToUTF32("1234"));
953
954 s1.AssignUtf8(strUtf8);
955 UNIT_ASSERT(s1 == strWide);
956
957 s1.AssignAscii(text);
958 UNIT_ASSERT(s1 == wtext);
959
960 // append
961
962 TUtf32String s2;
963 TUtf32String testAppend = strWide;
964 s2.AppendUtf8(strUtf8);
965 UNIT_ASSERT(testAppend == s2);
966
967 testAppend += ' ';
968 s2.AppendAscii(" ");
969 UNIT_ASSERT(testAppend == s2);
970
971 testAppend += '_';
972 s2.AppendUtf8("_");
973 UNIT_ASSERT(testAppend == s2);
974

Callers

nothing calls this directly

Calls 7

ASCIIToUTF32Function · 0.85
WideToUTF8Function · 0.85
FromAsciiFunction · 0.70
FromUtf8Function · 0.70
emptyMethod · 0.45
substrMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected