Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Defines.h"
- #include "UnitTest++.h"
- #include "TBString2.h"
- namespace
- {
- UnitTest::MemoryOutStream& operator << (UnitTest::MemoryOutStream& a_Target, const wchar_t* a_Value)
- {
- size_t len = wcslen(a_Value);
- char* result = new char[len + 1];
- char* dst = result;
- const wchar_t* src = a_Value;
- for (size_t i = 0; i < len; i++)
- {
- *dst++ = (char)(*src++ & 0xFF);
- }
- *dst++ = 0;
- a_Target << result;
- delete result;
- return a_Target;
- }
- UnitTest::MemoryOutStream& operator << (UnitTest::MemoryOutStream& a_Target, const tb::StringBase<wchar_t>& a_Value)
- {
- a_Target << a_Value.GetData();
- return a_Target;
- }
- TEST(CheckBasicA)
- {
- tb::StringBase<char> str("Hello World!");
- tb::StringBase<char> str_fixed("Hello World!", 256);
- CHECK(!strcmp("Hello World!", str.GetData()));
- CHECK(!strcmp("Hello World!", str_fixed.GetData()));
- }
- TEST(CheckBasicW)
- {
- tb::StringBase<wchar_t> str(L"Hello World!");
- tb::StringBase<wchar_t> str_fixed(L"Hello World!", 256);
- CHECK(!wcscmp(L"Hello World!", str.GetData()));
- CHECK(!wcscmp(L"Hello World!", str_fixed.GetData()));
- }
- TEST(CheckFixedA)
- {
- tb::StringBase<char> str("Hello World!", 8);
- CHECK(!strcmp("Hello W", str.GetData()));
- }
- TEST(CheckFixedW)
- {
- tb::StringBase<wchar_t> str(L"Hello World!", 8);
- CHECK(!wcscmp(L"Hello W", str.GetData()));
- }
- TEST(CheckAssignmentA)
- {
- tb::StringBase<char> str;
- str = "Hello";
- CHECK(!strcmp("Hello", str.GetData()));
- str = L"Hello";
- CHECK_EQUAL("Hello", str);
- str = tb::StringBase<char>(L"Hello");
- CHECK_EQUAL("Hello", str);
- str = tb::StringBase<wchar_t>("Hello");
- CHECK_EQUAL("Hello", str);
- }
- TEST(CheckAssignmentW)
- {
- tb::StringBase<wchar_t> str;
- str = L"Hello";
- CHECK_EQUAL(L"Hello", str);
- str = "Hello";
- CHECK_EQUAL(L"Hello", str);
- str = tb::StringBase<wchar_t>(L"Hello");
- CHECK_EQUAL(L"Hello", str);
- str = tb::StringBase<char>("Hello");
- CHECK_EQUAL(L"Hello", str);
- }
- TEST(CheckAppend)
- {
- tb::StringBase<char> str = tb::StringBase<char>("Hello");
- str += " World!";
- CHECK_EQUAL("Hello World!", str.GetData());
- }
- TEST(CheckCompareOperatorA)
- {
- tb::StringBase<char> str = "Hello World!";
- tb::StringBase<wchar_t> strw = L"Hello World!";
- CHECK(str == "Hello World!");
- CHECK(str == L"Hello World!");
- CHECK(!(str == "hello world!"));
- CHECK(!(str == L"hello world!"));
- CHECK(str == str);
- CHECK(str == strw);
- }
- TEST(CheckCompareOperatorW)
- {
- tb::StringBase<wchar_t> str = L"Hello World!";
- tb::StringBase<char> stra = "Hello World!";
- CHECK(str == L"Hello World!");
- CHECK(str == "Hello World!");
- CHECK(!(str == L"hello world!"));
- CHECK(!(str == "hello world!"));
- CHECK(str == str);
- CHECK(str == stra);
- }
- TEST(CheckCompareA)
- {
- tb::StringBase<char> str = "Hello World!";
- CHECK(str.Compare("Hello World!", eCompareMode_CaseSensitive));
- CHECK(!str.Compare("hello world!", eCompareMode_CaseSensitive));
- CHECK(str.Compare("Hello World!", eCompareMode_CaseInsensitive));
- CHECK(str.Compare("hello world!", eCompareMode_CaseInsensitive));
- }
- TEST(CheckCompareW)
- {
- tb::StringBase<wchar_t> str = L"Hello World!";
- CHECK(str.Compare(L"Hello World!", eCompareMode_CaseSensitive));
- CHECK(!str.Compare(L"hello world!", eCompareMode_CaseSensitive));
- CHECK(str.Compare(L"Hello World!", eCompareMode_CaseInsensitive));
- CHECK(str.Compare(L"hello world!", eCompareMode_CaseInsensitive));
- }
- }
Add Comment
Please, Sign In to add comment