diff options
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.h | 179 |
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 |