Home | History | Annotate | Download | only in cintltst
      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