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