diff options
Diffstat (limited to 'Build/source/libs/icu/icu-4.8.1/test/intltest/thcoll.h')
-rw-r--r-- | Build/source/libs/icu/icu-4.8.1/test/intltest/thcoll.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.8.1/test/intltest/thcoll.h b/Build/source/libs/icu/icu-4.8.1/test/intltest/thcoll.h new file mode 100644 index 00000000000..2b10c201118 --- /dev/null +++ b/Build/source/libs/icu/icu-4.8.1/test/intltest/thcoll.h @@ -0,0 +1,80 @@ +/* +********************************************************************** +* Copyright (C) 1999-2003, International Business Machines +* Corporation and others. All Rights Reserved. +********************************************************************** +* Date Name Description +* 12/09/99 aliu Ported from Java. +********************************************************************** +*/ + +#ifndef COLLATIONTHAITEST_H +#define COLLATIONTHAITEST_H + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_COLLATION + +#include "tscoll.h" + +class CollationThaiTest : public IntlTestCollator { + Collator* coll; // Thai collator + +public: + + CollationThaiTest(); + virtual ~CollationThaiTest(); + + void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); + +private: + + /** + * Read the external dictionary file, which is already in proper + * sorted order, and confirm that the collator compares each line as + * preceding the following line. + */ + void TestDictionary(void); + + /** + * Odd corner conditions taken from "How to Sort Thai Without Rewriting Sort", + * by Doug Cooper, http://seasrc.th.net/paper/thaisort.zip + */ + void TestCornerCases(void); + + /** + * Read the external names list, and confirms that the collator + * gets the same results when comparing lines one to another + * using regular and iterative comparison. + */ + void TestNamesList(void); + + /** + * test that invalid Thai sorts properly + */ + void TestInvalidThai(void); + + /** + * test that reording is done properly + */ + void TestReordering(void); + +private: + + void compareArray(Collator& c, const char* tests[], + int32_t testsLength); + + int8_t sign(int32_t i); + + /** + * Set a UnicodeString corresponding to the given string. Use + * UnicodeString and the default converter, unless we see the sequence + * "\\u", in which case we interpret the subsequent escape. + */ + UnicodeString& parseChars(UnicodeString& result, + const char* chars); +}; + +#endif /* #if !UCONFIG_NO_COLLATION */ + +#endif |