1 /******************************************************************** 2 * COPYRIGHT: 3 * Copyright (c) 1997-2008, International Business Machines Corporation and 4 * others. All Rights Reserved. 5 ********************************************************************/ 6 /******************************************************************************** 7 * 8 * File CALLCOLL.H 9 * 10 * Modification History: 11 * Name Description 12 * Madhu Katragadda Ported to C 13 ********************************************************************************* 14 */ 15 /** 16 * CollationDummyTest is a third level test class. This tests creation of 17 * a customized collator object. For example, number 1 to be sorted 18 * equlivalent to word 'one'. 19 */ 20 #ifndef _CALLCOLLTST 21 #define _CALLCOLLTST 22 23 #include "unicode/utypes.h" 24 #include "unicode/ucoleitr.h" 25 26 #if !UCONFIG_NO_COLLATION 27 28 #include "cintltst.h" 29 30 #define RULE_BUFFER_LEN 8192 31 32 struct OrderAndOffset 33 { 34 int32_t order; 35 int32_t offset; 36 }; 37 38 typedef struct OrderAndOffset OrderAndOffset; 39 40 /* tests comparison of custom collation with different strengths */ 41 void doTest(UCollator*, const UChar* source, const UChar* target, UCollationResult result); 42 /* verify that iterating forward and backwards over the string yields same CEs */ 43 void backAndForth(UCollationElements *iter); 44 /* gets an array of CEs for a string in UCollationElements iterator. */ 45 OrderAndOffset* getOrders(UCollationElements *iter, int32_t *orderLength); 46 47 void genericOrderingTestWithResult(UCollator *coll, const char * const s[], uint32_t size, UCollationResult result); 48 void genericOrderingTest(UCollator *coll, const char * const s[], uint32_t size); 49 void genericLocaleStarter(const char *locale, const char * const s[], uint32_t size); 50 void genericLocaleStarterWithResult(const char *locale, const char * const s[], uint32_t size, UCollationResult result); 51 void genericLocaleStarterWithOptions(const char *locale, const char * const s[], uint32_t size, const UColAttribute *attrs, const UColAttributeValue *values, uint32_t attsize); 52 void genericLocaleStarterWithOptionsAndResult(const char *locale, const char * const s[], uint32_t size, const UColAttribute *attrs, const UColAttributeValue *values, uint32_t attsize, UCollationResult result); 53 void genericRulesStarterWithResult(const char *rules, const char * const s[], uint32_t size, UCollationResult result); 54 void genericRulesStarter(const char *rules, const char * const s[], uint32_t size); 55 void genericRulesStarterWithOptionsAndResult(const char *rules, const char * const s[], uint32_t size, const UColAttribute *attrs, const UColAttributeValue *values, uint32_t attsize, UCollationResult result); 56 UBool hasCollationElements(const char *locName); 57 58 59 #endif /* #if !UCONFIG_NO_COLLATION */ 60 61 #endif 62