1 /******************************************************************** 2 * COPYRIGHT: 3 * Copyright (c) 1997-2008,2011, International Business Machines Corporation and 4 * others. All Rights Reserved. 5 ********************************************************************/ 6 /******************************************************************************** 7 * 8 * File CITERTST.H 9 * 10 * Modification History: 11 * Name Description 12 * Madhu Katragadda Converted to C 13 *********************************************************************************/ 14 15 /** 16 * Collation Iterator tests. 17 * (Let me reiterate my position...) 18 */ 19 20 #ifndef _CITERCOLLTST 21 #define _CITERCOLLTST 22 23 #include "unicode/utypes.h" 24 25 #if !UCONFIG_NO_COLLATION 26 27 #include "unicode/ucol.h" 28 #include "unicode/ucoleitr.h" 29 #include "cintltst.h" 30 31 #define MAX_TOKEN_LEN 16 32 33 /** 34 * Test for CollationElementIterator previous and next for the whole set of 35 * unicode characters. 36 */ 37 static void TestUnicodeChar(void); 38 /** 39 * Test for CollationElementIterator previous and next for the whole set of 40 * unicode characters with normalization on. 41 */ 42 static void TestNormalizedUnicodeChar(void); 43 /** 44 * Test incremental normalization 45 */ 46 static void TestNormalization(void); 47 /** 48 * Test for CollationElementIterator.previous() 49 * 50 * @bug 4108758 - Make sure it works with contracting characters 51 * 52 */ 53 static void TestPrevious(void); 54 55 /** 56 * Test for getOffset() and setOffset() 57 */ 58 static void TestOffset(void); 59 /** 60 * Test for setText() 61 */ 62 static void TestSetText(void); 63 /** @bug 4108762 64 * Test for getMaxExpansion() 65 */ 66 static void TestMaxExpansion(void); 67 /** 68 * Test Bug 672, where different locales give a different offset after 69 * a previous for the same string at the same position 70 */ 71 static void TestBug672(void); 72 73 /** 74 * Repeat TestBug672 with normalizatin enabled - this test revealed a bug 75 * in incremental normalization. 76 */ 77 static void TestBug672Normalize(void); 78 /** 79 * Test iterators with an relatively small buffer 80 */ 81 static void TestSmallBuffer(void); 82 /** 83 * Tests the CEs generated by the iterators. 84 */ 85 static void TestCEs(void); 86 /** 87 * Tests the discontiguos contractions 88 */ 89 static void TestDiscontiguos(void); 90 /** 91 * Tests that the iterators bails out when the CEBuffer is exhausted 92 */ 93 static void TestCEBufferOverflow(void); 94 /** 95 * Tests the validity of CEs generated by the iterators. 96 * Bound checkings. 97 */ 98 static void TestCEValidity(void); 99 /** 100 * Tests the validity of sortkeys generated by the iterators. 101 * Bound checkings. 102 */ 103 static void TestSortKeyValidity(void); 104 /** 105 * TestSearchCollatorElements tests iterator behavior (forwards and backwards) with 106 * normalization on AND jamo tailoring, among other things. 107 */ 108 static void TestSearchCollatorElements(void); 109 110 /*------------------------------------------------------------------------ 111 Internal utilities 112 */ 113 114 115 static void assertEqual(UCollationElements *i1, UCollationElements *i2); 116 117 118 #endif /* #if !UCONFIG_NO_COLLATION */ 119 120 #endif 121