/********************************************************************
 * COPYRIGHT: 
 * Copyright (c) 1997-1999, International Business Machines Corporation and
 * others. All Rights Reserved.
 ********************************************************************/
/********************************************************************************
*
* File CTURTST.H
*
* Modification History:
*        Name                     Description            
*     Madhu Katragadda            Converted to C
*********************************************************************************
/**
 * CollationTurkishTest(JAPAN) is a third level test class.  This tests the locale
 * specific primary, secondary and tertiary rules.  For example, the ignorable
 * character '-' in string "black-bird".  The en_US locale uses the default
 * collation rules as its sorting sequence.
 */

#ifndef _CTRCOLLTST
#define _CTRCOLLTST


#include "cintltst.h"

#define MAX_TOKEN_LEN 128

   
    /* main test routine, tests comparisons for a set of strings against sets of expected results */
    static void doTest(UCollator*, const UChar* source, const UChar* target, UCollationResult result);

    /*perform test with strength PRIMARY */
static    void TestPrimary(void);
    /* perform test with strength TERTIARY */
static    void TestTertiary(void);


    

#endif
