Index: icu46/source/test/intltest/thcoll.h |
=================================================================== |
--- icu46/source/test/intltest/thcoll.h (revision 0) |
+++ icu46/source/test/intltest/thcoll.h (revision 0) |
@@ -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 |
Property changes on: icu46/source/test/intltest/thcoll.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |