| // © 2016 and later: Unicode, Inc. and others. |
| // License & terms of use: http://www.unicode.org/copyright.html |
| /******************************************************************** |
| * COPYRIGHT: |
| * Copyright (c) 1997-2015, International Business Machines Corporation and |
| * others. All Rights Reserved. |
| ********************************************************************/ |
| |
| #ifndef UNICODESTRINGTEST_H |
| #define UNICODESTRINGTEST_H |
| |
| #include "unicode/locid.h" |
| #include "unicode/unistr.h" |
| #include "intltest.h" |
| |
| U_NAMESPACE_BEGIN |
| |
| class Appendable; |
| |
| U_NAMESPACE_END |
| |
| /** |
| * Perform API and functionality tests for class UnicodeString |
| **/ |
| class UnicodeStringTest: public IntlTest { |
| public: |
| UnicodeStringTest() {} |
| virtual ~UnicodeStringTest(); |
| |
| void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); |
| |
| /** |
| * Test some basic methods (insert, remove, replace, ...) |
| **/ |
| void TestBasicManipulation(void); |
| /** |
| * Test the methods for comparison |
| **/ |
| void TestCompare(void); |
| /** |
| * Test the methods for extracting |
| **/ |
| void TestExtract(void); |
| /** |
| * More extensively test methods for removing and replacing |
| **/ |
| void TestRemoveReplace(void); |
| /** |
| * Test language specific case conversions |
| **/ |
| void TestSearching(void); |
| /** |
| * Test methods for padding, trimmimg and truncating |
| **/ |
| void TestSpacePadding(void); |
| /** |
| * Test methods startsWith and endsWith |
| **/ |
| void TestPrefixAndSuffix(void); |
| void TestStartsWithAndEndsWithNulTerminated(); |
| /** |
| * Test method findAndReplace |
| **/ |
| void TestFindAndReplace(void); |
| /** |
| * Test method reverse |
| **/ |
| void TestReverse(void); |
| /** |
| * Test a few miscellaneous methods (isBogus, hashCode,...) |
| **/ |
| void TestMiscellaneous(void); |
| /** |
| * Test the functionality of allocating UnicodeStrings on the stack |
| **/ |
| void TestStackAllocation(void); |
| /** |
| * Test the unescape() function. |
| */ |
| void TestUnescape(void); |
| |
| void _testUnicodeStringHasMoreChar32Than(const UnicodeString &s, int32_t start, int32_t length, int32_t number); |
| void TestCountChar32(); |
| void TestBogus(); |
| void TestStringEnumeration(); |
| void TestNameSpace(); |
| void TestUTF32(); |
| void TestUTF8(); |
| void TestReadOnlyAlias(); |
| void doTestAppendable(UnicodeString &dest, Appendable &app); |
| void TestAppendable(); |
| void TestUnicodeStringImplementsAppendable(); |
| void TestSizeofUnicodeString(); |
| void TestMoveSwap(); |
| |
| void TestUInt16Pointers(); |
| void TestWCharPointers(); |
| void TestNullPointers(); |
| void TestUnicodeStringInsertAppendToSelf(); |
| void TestLargeAppend(); |
| }; |
| |
| #endif |