| // © 2016 and later: Unicode, Inc. and others. |
| // License & terms of use: http://www.unicode.org/copyright.html |
| /* |
| ********************************************************************** |
| * Copyright (C) 2001-2009, International Business Machines |
| * Corporation and others. All Rights Reserved. |
| ********************************************************************** |
| * Date Name Description |
| * 05/23/00 aliu Creation. |
| ********************************************************************** |
| */ |
| #ifndef TESTUTIL_H |
| #define TESTUTIL_H |
| |
| #include "unicode/utypes.h" |
| #include "unicode/edits.h" |
| #include "unicode/unistr.h" |
| #include "intltest.h" |
| |
| struct EditChange { |
| UBool change; |
| int32_t oldLength, newLength; |
| }; |
| |
| /** |
| * Utility methods. Everything in this class is static. |
| */ |
| class TestUtility { |
| public: |
| static UnicodeString &appendHex(UnicodeString &buf, UChar32 ch); |
| |
| static UnicodeString hex(UChar32 ch); |
| |
| static UnicodeString hex(const UnicodeString& s); |
| |
| static UnicodeString hex(const UnicodeString& s, UChar sep); |
| |
| static UnicodeString hex(const uint8_t* bytes, int32_t len); |
| |
| static UBool checkEqualEdits(IntlTest &test, const UnicodeString &name, |
| const Edits &e1, const Edits &e2, UErrorCode &errorCode); |
| |
| static void checkEditsIter( |
| IntlTest &test, const UnicodeString &name, |
| Edits::Iterator ei1, Edits::Iterator ei2, // two equal iterators |
| const EditChange expected[], int32_t expLength, UBool withUnchanged, |
| UErrorCode &errorCode); |
| |
| private: |
| TestUtility() = delete; // Prevent instantiation |
| }; |
| |
| #endif |