11b362b15af34006e6a11974088a46d42b903418eJohann/******************************************************************** 21b362b15af34006e6a11974088a46d42b903418eJohann * COPYRIGHT: 31b362b15af34006e6a11974088a46d42b903418eJohann * Copyright (c) 1997-2003, International Business Machines Corporation and 41b362b15af34006e6a11974088a46d42b903418eJohann * others. All Rights Reserved. 51b362b15af34006e6a11974088a46d42b903418eJohann ********************************************************************/ 61b362b15af34006e6a11974088a46d42b903418eJohann 71b362b15af34006e6a11974088a46d42b903418eJohann/** 81b362b15af34006e6a11974088a46d42b903418eJohann * CollationFrenchTest is a third level test class. This tests the locale 91b362b15af34006e6a11974088a46d42b903418eJohann * specific tertiary rules. For example, the French secondary sorting on 101b362b15af34006e6a11974088a46d42b903418eJohann * accented characters. 111b362b15af34006e6a11974088a46d42b903418eJohann */ 121b362b15af34006e6a11974088a46d42b903418eJohann#ifndef _FRCOLL 13ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define _FRCOLL 14ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 151b362b15af34006e6a11974088a46d42b903418eJohann#include "unicode/utypes.h" 161b362b15af34006e6a11974088a46d42b903418eJohann 171b362b15af34006e6a11974088a46d42b903418eJohann#if !UCONFIG_NO_COLLATION 181b362b15af34006e6a11974088a46d42b903418eJohann 191b362b15af34006e6a11974088a46d42b903418eJohann#include "tscoll.h" 201b362b15af34006e6a11974088a46d42b903418eJohann 211b362b15af34006e6a11974088a46d42b903418eJohannclass CollationFrenchTest: public IntlTestCollator { 221b362b15af34006e6a11974088a46d42b903418eJohannpublic: 231b362b15af34006e6a11974088a46d42b903418eJohann // If this is too small for the test data, just increase it. 24ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang // Just don't make it too large, otherwise the executable will get too big 251b362b15af34006e6a11974088a46d42b903418eJohann enum EToken_Len { MAX_TOKEN_LEN = 16 }; 261b362b15af34006e6a11974088a46d42b903418eJohann 271b362b15af34006e6a11974088a46d42b903418eJohann CollationFrenchTest(); 281b362b15af34006e6a11974088a46d42b903418eJohann virtual ~CollationFrenchTest(); 291b362b15af34006e6a11974088a46d42b903418eJohann void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 301b362b15af34006e6a11974088a46d42b903418eJohann 311b362b15af34006e6a11974088a46d42b903418eJohann // perform tests with strength SECONDARY 321b362b15af34006e6a11974088a46d42b903418eJohann void TestSecondary(/* char* par */); 331b362b15af34006e6a11974088a46d42b903418eJohann 341b362b15af34006e6a11974088a46d42b903418eJohann // perform tests with strength TERTIARY 351b362b15af34006e6a11974088a46d42b903418eJohann void TestTertiary(/* char* par */); 361b362b15af34006e6a11974088a46d42b903418eJohann 371b362b15af34006e6a11974088a46d42b903418eJohann // perform extra tests 381b362b15af34006e6a11974088a46d42b903418eJohann void TestExtra(/* char* par */); 391b362b15af34006e6a11974088a46d42b903418eJohann 401b362b15af34006e6a11974088a46d42b903418eJohannprivate: 411b362b15af34006e6a11974088a46d42b903418eJohann static const UChar testSourceCases[][MAX_TOKEN_LEN]; 421b362b15af34006e6a11974088a46d42b903418eJohann static const UChar testTargetCases[][MAX_TOKEN_LEN]; 431b362b15af34006e6a11974088a46d42b903418eJohann static const UChar testBugs[][MAX_TOKEN_LEN]; 441b362b15af34006e6a11974088a46d42b903418eJohann static const Collator::EComparisonResult results[]; 451b362b15af34006e6a11974088a46d42b903418eJohann static const UChar testAcute[][MAX_TOKEN_LEN]; 461b362b15af34006e6a11974088a46d42b903418eJohann 471b362b15af34006e6a11974088a46d42b903418eJohann Collator *myCollation; 481b362b15af34006e6a11974088a46d42b903418eJohann}; 491b362b15af34006e6a11974088a46d42b903418eJohann 501b362b15af34006e6a11974088a46d42b903418eJohann#endif /* #if !UCONFIG_NO_COLLATION */ 511b362b15af34006e6a11974088a46d42b903418eJohann 521b362b15af34006e6a11974088a46d42b903418eJohann#endif 531b362b15af34006e6a11974088a46d42b903418eJohann