Home | History | Annotate | Download | only in cintltst
      1 /********************************************************************
      2  * Copyright (c) 1997-2013 International Business Machines
      3  * Corporation and others. All Rights Reserved.
      4  ********************************************************************/
      5 /********************************************************************************
      6 *
      7 * File CAPITEST.H
      8 *
      9 * Modification History:
     10 *        Name                     Description
     11 *     Madhu Katragadda            Converted to C
     12 *     Brian Rower                 Added TestOpenVsOpenRules
     13 *********************************************************************************
     14 *//* C API TEST For COLLATOR */
     15 
     16 #ifndef _CCOLLAPITST
     17 #define _CCOLLAPITST
     18 
     19 #include "unicode/utypes.h"
     20 
     21 #if !UCONFIG_NO_COLLATION
     22 
     23 #include "cintltst.h"
     24 #include "callcoll.h"
     25 #define MAX_TOKEN_LEN 16
     26 
     27 
     28     /**
     29      * error reporting utility method
     30      **/
     31 
     32     static void doAssert(int condition, const char *message);
     33     /**
     34      * Collator Class Properties
     35      * ctor, dtor, createInstance, compare, getStrength/setStrength
     36      * getDecomposition/setDecomposition, getDisplayName
     37      */
     38     void TestProperty(void);
     39     /**
     40      * Test RuleBasedCollator and getRules
     41      **/
     42     void TestRuleBasedColl(void);
     43 
     44     /**
     45      * Test compare
     46      **/
     47     void TestCompare(void);
     48     /**
     49      * Test hashCode functionality
     50      **/
     51     void TestHashCode(void);
     52     /**
     53      * Tests the constructor and numerous other methods for CollationKey
     54      **/
     55    void TestSortKey(void);
     56     /**
     57      * test the CollationElementIterator methods
     58      **/
     59    void TestElemIter(void);
     60     /**
     61      * Test ucol_getAvailable and ucol_countAvailable()
     62      **/
     63     void TestGetAll(void);
     64     /**
     65      * Test ucol_GetDefaultRules ()
     66     void TestGetDefaultRules(void);
     67      **/
     68 
     69     void TestDecomposition(void);
     70     /**
     71      * Test ucol_safeClone ()
     72      **/
     73     void TestSafeClone(void);
     74 
     75     /**
     76      * Test ucol_cloneBinary(), ucol_openBinary()
     77      **/
     78     void TestCloneBinary(void);
     79 
     80     /**
     81      * Test ucol_open() vs. ucol_openRules()
     82      **/
     83     void TestOpenVsOpenRules(void);
     84 
     85     /**
     86      * Test getting bounds for a sortkey
     87      */
     88     void TestBounds(void);
     89 
     90     /**
     91      * Test ucol_getLocale function
     92      */
     93     void TestGetLocale(void);
     94 
     95     /**
     96      * Test buffer overrun while having smaller buffer for sortkey (j1865)
     97      */
     98     void TestSortKeyBufferOverrun(void);
     99     /**
    100      * Test getting and setting of attributes
    101      */
    102     void TestGetSetAttr(void);
    103     /**
    104      * Test getTailoredSet
    105      */
    106     void TestGetTailoredSet(void);
    107 
    108     /**
    109      * Test mergeSortKeys
    110      */
    111     void TestMergeSortKeys(void);
    112 
    113     /**
    114      * test short string and collator identifier functions
    115      */
    116     static void TestShortString(void);
    117 
    118     /**
    119      * test getContractions and getUnsafeSet
    120      */
    121     static void TestGetContractionsAndUnsafes(void);
    122 
    123     /**
    124      * Test funny stuff with open binary
    125      */
    126     static void TestOpenBinary(void);
    127 
    128     /**
    129      * Test getKeywordValuesForLocale API
    130      */
    131     static void TestGetKeywordValuesForLocale(void);
    132 
    133     /**
    134      * test strcoll with null arg
    135      */
    136     static void TestStrcollNull(void);
    137 
    138 #endif /* #if !UCONFIG_NO_COLLATION */
    139 
    140 #endif
    141