// © 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