OLD | NEW |
(Empty) | |
| 1 /*********************************************************************** |
| 2 * COPYRIGHT: |
| 3 * Copyright (c) 1997-2006, 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 |
| 117 /** |
| 118 * This tests getMaxExpansion |
| 119 */ |
| 120 void TestMaxExpansion(); |
| 121 |
| 122 /** |
| 123 * Tests the retrieval of names given a locale |
| 124 */ |
| 125 void TestDisplayName(); |
| 126 |
| 127 /** |
| 128 * Tests the collator attributes |
| 129 */ |
| 130 void TestAttribute(); |
| 131 |
| 132 /** |
| 133 * Tests the setters and getters of variable top |
| 134 */ |
| 135 void TestVariableTopSetting(); |
| 136 |
| 137 /** |
| 138 * Tests GetLocale for a Collator |
| 139 */ |
| 140 void TestGetLocale(); |
| 141 |
| 142 /** |
| 143 * Tests bounds API |
| 144 */ |
| 145 void TestBounds(); |
| 146 |
| 147 /** |
| 148 * Tests getTailoredSet API |
| 149 */ |
| 150 void TestGetTailoredSet(); |
| 151 |
| 152 /** |
| 153 * Tests the subclassability |
| 154 */ |
| 155 void TestSubclass(); |
| 156 |
| 157 /** |
| 158 * Tests the dynamic and static ids of collation classes |
| 159 */ |
| 160 void TestUClassID(); |
| 161 |
| 162 /** |
| 163 * Test NULL |
| 164 */ |
| 165 void TestNULLCharTailoring(); |
| 166 |
| 167 void TestClone(); |
| 168 private: |
| 169 // If this is too small for the test data, just increase it. |
| 170 // Just don't make it too large, otherwise the executable will get too big |
| 171 enum EToken_Len { MAX_TOKEN_LEN = 16 }; |
| 172 |
| 173 void dump(UnicodeString msg, RuleBasedCollator* c, UErrorCode& status); |
| 174 |
| 175 }; |
| 176 |
| 177 #endif /* #if !UCONFIG_NO_COLLATION */ |
| 178 |
| 179 #endif |
OLD | NEW |