123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- #include "SimpleString.h"
- #include<gtest/gtest.h>
- TEST(SimpleStringTest, CharTypeTest)
- {
- CSimpleStringA s1("123456 7890");
- ASSERT_TRUE(s1.GetLength() == 11);
- ASSERT_TRUE(s1 == "123456 7890");
- ASSERT_TRUE(s1.Compare("123456 7890") == 0);
- CSimpleStringA s2("123456 7890123456", 11);
- ASSERT_TRUE(s1 == s2);
- ASSERT_TRUE(s1.Compare(s2) == 0);
- CSimpleStringA dup1(s1);
- EXPECT_TRUE(s1 == dup1);
- dup1 = "987654321";
- EXPECT_TRUE(dup1 == "987654321");
- EXPECT_FALSE((dup1 != CSimpleStringA("987654321")));
- EXPECT_TRUE(strlen((const CHAR*)dup1) == 9);
- CSimpleStringA dup2 = dup1 + s1;
- dup1 += s1;
- EXPECT_TRUE(dup1.Compare("987654321123456 7890") == 0);
- EXPECT_TRUE(dup1 == dup2);
- CSimpleStringA n10('n', 10);
- ASSERT_TRUE(n10.GetLength() == 10);
- ASSERT_TRUE(n10.GetCapability() == 10);
- ASSERT_TRUE(n10[9] == 'n');
- ASSERT_TRUE(n10[10] == '\0');
- n10[9] = 'm';
- ASSERT_TRUE(n10[9] == 'm');
- ASSERT_TRUE(strcmp(n10.GetData(), (const char*)n10) == 0);
- CSimpleStringA empty_str(true);
- EXPECT_TRUE(empty_str.IsNullOrEmpty());
- auto format_string = CSimpleStringA::Format("hello %s %d", "world", 12345);
- EXPECT_TRUE(format_string.Compare("hello world 12345") == 0);
- CSimpleStringA c10('c', 10);
- format_string.Clear();
- ASSERT_TRUE(format_string.IsNullOrEmpty());
- ASSERT_TRUE(n10.GetCapability() == 10);
- CSimpleStringA str1("123;456;789;1234;12345");
- CAutoArray<CSimpleStringA> arrays = str1.Split(';');
- ASSERT_TRUE(arrays.GetCount() == 5);
- CSimpleStringA str2(" I'm string for trim ");
- auto str3 = str2.Trim();
- ASSERT_TRUE(str3.Compare("I'm string for trim") == 0);
- EXPECT_TRUE(str3.IsStartWith("I'm", false));
- EXPECT_FALSE(str3.IsStartWith("i'm", false));
- EXPECT_TRUE(str3.IsStartWith("i'm", true));
- EXPECT_TRUE(str3.IsEndWith("for trim", false));
- EXPECT_FALSE(str3.IsEndWith("foR Trim", false));
- EXPECT_TRUE(str3.IsEndWith("foR Trim", true));
- EXPECT_TRUE(str3.IndexOf("string") == 4);
- EXPECT_TRUE(str3.IndexOf("none") == -1);
- CSimpleStringA str4("");
- str4 = str4.Append("new string");
- ASSERT_TRUE(str4.Compare("new string") == 0);
- str4 = str4.Append("append string", strlen("append str"));
- ASSERT_TRUE(str4.Compare("new stringappend str") == 0);
- CSimpleStringA str5("CompareString");
- CSimpleStringA str6("CompareString");
- CSimpleStringA str7("compareString");
- ASSERT_TRUE(str5.Compare("comparestring", true) == 0);
- ASSERT_TRUE(str5.Compare(str6) == 0);
- ASSERT_FALSE(str5.Compare(str7) == 0);
- ASSERT_TRUE(str5.Compare(str7, true) == 0);
- }
- #ifdef _WIN32
- TEST(SimpleStringTest, WideCharTypeTest)
- {
- CSimpleStringW s1(L"123456 7890");
- ASSERT_TRUE(s1.GetLength() == 11);
- ASSERT_TRUE(s1 == L"123456 7890");
- ASSERT_TRUE(s1.Compare(L"123456 7890") == 0);
- CSimpleStringW s2(L"123456 7890123456", 11);
- ASSERT_TRUE(s1 == s2);
- ASSERT_TRUE(s1.Compare(s2) == 0);
- CSimpleStringW dup1(s1);
- EXPECT_TRUE(s1 == dup1);
- dup1 = L"987654321";
- EXPECT_TRUE(dup1 == L"987654321");
- EXPECT_FALSE((dup1 != CSimpleStringW(L"987654321")));
- EXPECT_TRUE(wcslen((const WCHAR*)dup1) == 9);
- CSimpleStringW dup2 = dup1 + s1;
- dup1 += s1;
- EXPECT_TRUE(dup1.Compare(L"987654321123456 7890") == 0);
- EXPECT_TRUE(dup1 == dup2);
- CSimpleStringW n10('n', 10);
- ASSERT_TRUE(n10.GetLength() == 10);
- ASSERT_TRUE(n10.GetCapability() == 10);
- ASSERT_TRUE(n10[9] == 'n');
- ASSERT_TRUE(n10[10] == '\0');
- n10[9] = 'm';
- ASSERT_TRUE(n10[9] == 'm');
- ASSERT_TRUE(wcscmp(n10.GetData(), (const WCHAR*)n10) == 0);
- CSimpleStringW empty_str(true);
- EXPECT_TRUE(empty_str.IsNullOrEmpty());
- auto format_string = CSimpleStringW::Format(L"hello %s %d", L"world", 12345);
- EXPECT_TRUE(format_string.Compare(L"hello world 12345") == 0);
- CSimpleStringW c10('c', 10);
- format_string.Clear();
- ASSERT_TRUE(format_string.IsNullOrEmpty());
- ASSERT_TRUE(n10.GetCapability() == 10);
- CSimpleStringW str1(L"123;456;789;1234;12345");
- CAutoArray<CSimpleStringW> arrays = str1.Split(';');
- ASSERT_TRUE(arrays.GetCount() == 5);
- CSimpleStringW str2(L" I'm string for trim ");
- auto str3 = str2.Trim();
- ASSERT_TRUE(str3.Compare(L"I'm string for trim") == 0);
- EXPECT_TRUE(str3.IsStartWith(L"I'm", false));
- EXPECT_FALSE(str3.IsStartWith(L"i'm", false));
- EXPECT_TRUE(str3.IsStartWith(L"i'm", true));
- EXPECT_TRUE(str3.IsEndWith(L"for trim", false));
- EXPECT_FALSE(str3.IsEndWith(L"foR Trim", false));
- EXPECT_TRUE(str3.IsEndWith(L"foR Trim", true));
- EXPECT_TRUE(str3.IndexOf(L"string") == 4);
- EXPECT_TRUE(str3.IndexOf(L"none") == -1);
- CSimpleStringW str4("");
- str4 = str4.Append(L"new string");
- ASSERT_TRUE(str4.Compare(L"new string") == 0);
- str4 = str4.Append(L"append string", wcslen(L"append str"));
- ASSERT_TRUE(str4.Compare(L"new stringappend str") == 0);
- CSimpleStringW str5(L"CompareString");
- CSimpleStringW str6(L"CompareString");
- CSimpleStringW str7(L"compareString");
- ASSERT_TRUE(str5.Compare(L"comparestring", true) == 0);
- ASSERT_TRUE(str5.Compare(str6) == 0);
- ASSERT_FALSE(str5.Compare(str7) == 0);
- ASSERT_TRUE(str5.Compare(str7, true) == 0);
- }
- TEST(SimpleStringTest, WideCharTransferTest)
- {
- CSimpleStringA str("testString");
- CSimpleStringW wstr = CSimpleStringA2W(str);
- ASSERT_TRUE(wstr.Compare(L"testString") == 0);
- }
- #endif //_WIN32
|