1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #include "SpUtility.h"
- #include<gtest/gtest.h>
- TEST(StringTest, MISCTest)
- {
- std::string str = "Hello Client!";
- ASSERT_TRUE(SP::Utility::IsStartWith(str, "Hello "));
- ASSERT_FALSE(SP::Utility::IsStartWith(str, "hello "));
- ASSERT_TRUE(SP::Utility::IsStartWith(str, 'H'));
- ASSERT_FALSE(SP::Utility::IsStartWith(str, 'e'));
- ASSERT_TRUE(SP::Utility::IsEndWith(str, " Client!"));
- ASSERT_TRUE(SP::Utility::IsEndWith(str, "!"));
- ASSERT_FALSE(SP::Utility::IsEndWith(str, " Clien"));
- ASSERT_TRUE(SP::Utility::IsEndWith(str, '!'));
- ASSERT_FALSE(SP::Utility::IsEndWith(str, 'd'));
- ASSERT_TRUE(SP::Utility::IsContains(str, "llo Cli"));
- ASSERT_FALSE(SP::Utility::IsContains(str, "Server"));
- std::string str1 = " Hello Client!\t";
- ASSERT_TRUE(SP::Utility::ToTrim(str1).compare(str) == 0);
- std::string str2 = "Hello Client, and Hello Server";
- ASSERT_TRUE(SP::Utility::replaceInPlace(str2, "Hello", "Please"));
- std::cout << str2 << std::endl;
- ASSERT_TRUE(str2.compare("Please Client, and Please Server") == 0);
- ASSERT_FALSE(SP::Utility::replaceInPlace(str2, "Hello", "Please"));
- std::cout << str2 << std::endl;
- }
- TEST(StringTest, HexSwitchTest)
- {
- char byt[] = "ABC";
- std::string res = SP::Utility::Bytes2HexStr(byt, 3);
- std::cout << "HexString: " << res << std::endl;
- char* ret = SP::Utility::HexStr2Bytes(res);
- ASSERT_TRUE(ret != NULL);
- ASSERT_TRUE(strlen(ret) == 3);
- ASSERT_TRUE(ret[0] = 'A');
- ASSERT_TRUE(ret[0] = 'B');
- ASSERT_TRUE(ret[0] = 'C');
- delete[] ret;
- }
- TEST(StringTest, SPlitTest)
- {
- std::string str("123 456 hello 789 keshi who ambition");
- auto result = SP::Utility::Split(str, ' ');
- ASSERT_TRUE(result.size() == 7);
- ASSERT_TRUE(result[2] == "hello");
- ASSERT_TRUE(result[6] == "ambition");
- }
- TEST(StringTest, UpperTest)
- {
- std::string test_string = SP::Utility::ToLower("What$* THE FU*K");
- ASSERT_TRUE(test_string.compare("what$* the fu*k") == 0);
- test_string = SP::Utility::ToUpper("What$* ThE fu*k");
- ASSERT_TRUE(test_string.compare("WHAT$* THE FU*K") == 0);
- EXPECT_FALSE(SP::Utility::ToLower("").compare(""));
- EXPECT_FALSE(SP::Utility::ToUpper("").compare(""));
- }
- TEST(StringTest, WideChar2CharTest)
- {
- std::wstring str = L"Who am I, 1234567890, !@#$%^&*()_+}{:\"';'";
- std::string str1 = SP::Utility::W2S(str);
- std::cout << str1 << std::endl;
- std::wstring str2 = SP::Utility::S2W(str1);
- ASSERT_TRUE(str2.compare(str) == 0);
- }
- TEST(StringTest, GBK25UTF8Test)
- {
- std::string str = "ÎÒÃÇÊǹ²²úÖ÷Òå½Ó°àÈËWho am I, 1234567890, !@#$%^&*()_+}{:\"';'";
- std::string str1 = SP::Utility::GBK2UTF8(str);
- std::string str2 = SP::Utility::UTF8ToGBK(str1);
- std::string str3 = SP::Utility::GBK2UTF8(str2);
- ASSERT_TRUE(str1.compare(str3) == 0);
- ASSERT_TRUE(str2.compare(str) == 0);
- }
|