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 |