summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-4.6/test/intltest/apicoll.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-4.6/test/intltest/apicoll.h')
-rw-r--r--Build/source/libs/icu/icu-4.6/test/intltest/apicoll.h179
1 files changed, 179 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.6/test/intltest/apicoll.h b/Build/source/libs/icu/icu-4.6/test/intltest/apicoll.h
new file mode 100644
index 00000000000..f3a4d2a7fda
--- /dev/null
+++ b/Build/source/libs/icu/icu-4.6/test/intltest/apicoll.h
@@ -0,0 +1,179 @@
+/***********************************************************************
+ * COPYRIGHT:
+ * Copyright (c) 1997-2006, International Business Machines Corporation
+ * and others. All Rights Reserved.
+ ***********************************************************************/
+
+/**
+ * CollationAPITest is a third level test class. This test performs API
+ * related tests for the Collation framework.
+ */
+
+#ifndef _APICOLL
+#define _APICOLL
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_COLLATION
+
+#include "unicode/tblcoll.h"
+#include "tscoll.h"
+
+class CollationAPITest: public IntlTestCollator {
+public:
+ void runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par = NULL */);
+ void doAssert(UBool condition, const char *message);
+
+ /**
+ * This tests the properties of a collator object.
+ * - constructor/destructor
+ * - factory method createInstance
+ * - compare and getCollationKey
+ * - get/set decomposition mode and comparison level
+ * - displayable name in the desired locale
+ */
+ void TestProperty(/* char* par */);
+
+ /**
+ * This tests the RuleBasedCollator
+ * - constructor/destructor
+ * - getRules
+ */
+ void TestRuleBasedColl(/* char* par */);
+
+ /**
+ * This tests the RuleBasedCollator
+ * - getRules
+ */
+ void TestRules(/* char* par */);
+
+ /**
+ * Tests decomposition setting
+ */
+ void TestDecomposition();
+
+ /**
+ * SafeClone test
+ */
+ void TestSafeClone();
+
+ /**
+ * This tests the properties of a rule based collator object.
+ * - constructor/destructor
+ * - == and != operators
+ * - clone and copy
+ * - collation rules access
+ */
+ void TestOperators(/* char* par */);
+
+ /**
+ * This tests the duplication of a collator object.
+ */
+ void TestDuplicate(/* char* par */);
+
+ /**
+ * This tests the comparison convenience methods of a collator object.
+ * - greater than
+ * - greater than or equal to
+ * - equal to
+ */
+ void TestCompare(/* char* par */);
+
+ /**
+ * This tests the hashCode method of a collator object.
+ */
+ void TestHashCode(/* char* par */);
+
+ /**
+ * This tests the collation key related APIs.
+ * - constructor/destructor
+ * - Collator::getCollationKey
+ * - == and != operators
+ * - comparison between collation keys
+ * - creating collation key with a byte array and vice versa
+ */
+ void TestCollationKey(/* char* par */);
+
+ /**
+ * This tests the CollationElementIterator related APIs.
+ * - creation of a CollationElementIterator object
+ * - == and != operators
+ * - iterating forward
+ * - reseting the iterator index
+ * - requesting the order properties(primary, secondary or tertiary)
+ */
+ void TestElemIter(/* char* par */);
+
+ /**
+ * This tests the list the all available locales.
+ */
+ void TestGetAll(/* char* par */);
+
+ /**
+ * This tests the sort keys generated by collator
+ */
+ void TestSortKey();
+
+ /**
+ * This tests getMaxExpansion
+ */
+ void TestMaxExpansion();
+
+ /**
+ * Tests the retrieval of names given a locale
+ */
+ void TestDisplayName();
+
+ /**
+ * Tests the collator attributes
+ */
+ void TestAttribute();
+
+ /**
+ * Tests the setters and getters of variable top
+ */
+ void TestVariableTopSetting();
+
+ /**
+ * Tests GetLocale for a Collator
+ */
+ void TestGetLocale();
+
+ /**
+ * Tests bounds API
+ */
+ void TestBounds();
+
+ /**
+ * Tests getTailoredSet API
+ */
+ void TestGetTailoredSet();
+
+ /**
+ * Tests the subclassability
+ */
+ void TestSubclass();
+
+ /**
+ * Tests the dynamic and static ids of collation classes
+ */
+ void TestUClassID();
+
+ /**
+ * Test NULL
+ */
+ void TestNULLCharTailoring();
+
+ void TestClone();
+private:
+ // If this is too small for the test data, just increase it.
+ // Just don't make it too large, otherwise the executable will get too big
+ enum EToken_Len { MAX_TOKEN_LEN = 16 };
+
+ void dump(UnicodeString msg, RuleBasedCollator* c, UErrorCode& status);
+
+};
+
+#endif /* #if !UCONFIG_NO_COLLATION */
+
+#endif