| OLD | NEW |
| (Empty) |
| 1 /*********************************************************************** | |
| 2 * COPYRIGHT: | |
| 3 * Copyright (c) 1997-2014, International Business Machines Corporation | |
| 4 * and others. All Rights Reserved. | |
| 5 ***********************************************************************/ | |
| 6 | |
| 7 /** | |
| 8 * CollationAPITest is a third level test class. This test performs API | |
| 9 * related tests for the Collation framework. | |
| 10 */ | |
| 11 | |
| 12 #ifndef _APICOLL | |
| 13 #define _APICOLL | |
| 14 | |
| 15 #include "unicode/utypes.h" | |
| 16 | |
| 17 #if !UCONFIG_NO_COLLATION | |
| 18 | |
| 19 #include "unicode/tblcoll.h" | |
| 20 #include "tscoll.h" | |
| 21 | |
| 22 class CollationAPITest: public IntlTestCollator { | |
| 23 public: | |
| 24 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*p
ar = NULL */); | |
| 25 void doAssert(UBool condition, const char *message); | |
| 26 | |
| 27 /** | |
| 28 * This tests the properties of a collator object. | |
| 29 * - constructor/destructor | |
| 30 * - factory method createInstance | |
| 31 * - compare and getCollationKey | |
| 32 * - get/set decomposition mode and comparison level | |
| 33 * - displayable name in the desired locale | |
| 34 */ | |
| 35 void TestProperty(/* char* par */); | |
| 36 | |
| 37 /** | |
| 38 * This tests the RuleBasedCollator | |
| 39 * - constructor/destructor | |
| 40 * - getRules | |
| 41 */ | |
| 42 void TestRuleBasedColl(/* char* par */); | |
| 43 | |
| 44 /** | |
| 45 * This tests the RuleBasedCollator | |
| 46 * - getRules | |
| 47 */ | |
| 48 void TestRules(/* char* par */); | |
| 49 | |
| 50 /** | |
| 51 * Tests decomposition setting | |
| 52 */ | |
| 53 void TestDecomposition(); | |
| 54 | |
| 55 /** | |
| 56 * SafeClone test | |
| 57 */ | |
| 58 void TestSafeClone(); | |
| 59 | |
| 60 /** | |
| 61 * This tests the properties of a rule based collator object. | |
| 62 * - constructor/destructor | |
| 63 * - == and != operators | |
| 64 * - clone and copy | |
| 65 * - collation rules access | |
| 66 */ | |
| 67 void TestOperators(/* char* par */); | |
| 68 | |
| 69 /** | |
| 70 * This tests the duplication of a collator object. | |
| 71 */ | |
| 72 void TestDuplicate(/* char* par */); | |
| 73 | |
| 74 /** | |
| 75 * This tests the comparison convenience methods of a collator object. | |
| 76 * - greater than | |
| 77 * - greater than or equal to | |
| 78 * - equal to | |
| 79 */ | |
| 80 void TestCompare(/* char* par */); | |
| 81 | |
| 82 /** | |
| 83 * This tests the hashCode method of a collator object. | |
| 84 */ | |
| 85 void TestHashCode(/* char* par */); | |
| 86 | |
| 87 /** | |
| 88 * This tests the collation key related APIs. | |
| 89 * - constructor/destructor | |
| 90 * - Collator::getCollationKey | |
| 91 * - == and != operators | |
| 92 * - comparison between collation keys | |
| 93 * - creating collation key with a byte array and vice versa | |
| 94 */ | |
| 95 void TestCollationKey(/* char* par */); | |
| 96 | |
| 97 /** | |
| 98 * This tests the CollationElementIterator related APIs. | |
| 99 * - creation of a CollationElementIterator object | |
| 100 * - == and != operators | |
| 101 * - iterating forward | |
| 102 * - reseting the iterator index | |
| 103 * - requesting the order properties(primary, secondary or tertiary) | |
| 104 */ | |
| 105 void TestElemIter(/* char* par */); | |
| 106 | |
| 107 /** | |
| 108 * This tests the list the all available locales. | |
| 109 */ | |
| 110 void TestGetAll(/* char* par */); | |
| 111 | |
| 112 /** | |
| 113 * This tests the sort keys generated by collator | |
| 114 */ | |
| 115 void TestSortKey(); | |
| 116 void TestSortKeyOverflow(); | |
| 117 | |
| 118 /** | |
| 119 * This tests getMaxExpansion | |
| 120 */ | |
| 121 void TestMaxExpansion(); | |
| 122 | |
| 123 /** | |
| 124 * Tests the retrieval of names given a locale | |
| 125 */ | |
| 126 void TestDisplayName(); | |
| 127 | |
| 128 /** | |
| 129 * Tests the collator attributes | |
| 130 */ | |
| 131 void TestAttribute(); | |
| 132 | |
| 133 /** | |
| 134 * Tests the setters and getters of variable top | |
| 135 */ | |
| 136 void TestVariableTopSetting(); | |
| 137 void TestMaxVariable(); | |
| 138 | |
| 139 /** | |
| 140 * Tests GetLocale for a Collator | |
| 141 */ | |
| 142 void TestGetLocale(); | |
| 143 | |
| 144 /** | |
| 145 * Tests bounds API | |
| 146 */ | |
| 147 void TestBounds(); | |
| 148 | |
| 149 /** | |
| 150 * Tests getTailoredSet API | |
| 151 */ | |
| 152 void TestGetTailoredSet(); | |
| 153 | |
| 154 /** | |
| 155 * Tests the subclassability | |
| 156 */ | |
| 157 void TestSubclass(); | |
| 158 | |
| 159 /** | |
| 160 * Tests the dynamic and static ids of collation classes | |
| 161 */ | |
| 162 void TestUClassID(); | |
| 163 | |
| 164 /** | |
| 165 * Test NULL | |
| 166 */ | |
| 167 void TestNULLCharTailoring(); | |
| 168 | |
| 169 void TestClone(); | |
| 170 void TestCloneBinary(); | |
| 171 void TestIterNumeric(); | |
| 172 void TestBadKeywords(); | |
| 173 | |
| 174 private: | |
| 175 // If this is too small for the test data, just increase it. | |
| 176 // Just don't make it too large, otherwise the executable will get too big | |
| 177 enum EToken_Len { MAX_TOKEN_LEN = 16 }; | |
| 178 | |
| 179 void dump(UnicodeString msg, RuleBasedCollator* c, UErrorCode& status); | |
| 180 | |
| 181 }; | |
| 182 | |
| 183 #endif /* #if !UCONFIG_NO_COLLATION */ | |
| 184 | |
| 185 #endif | |
| OLD | NEW |