1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/********************************************************************
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * COPYRIGHT:
3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Copyright (c) 1997-2003, International Business Machines Corporation and
4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * others. All Rights Reserved.
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ********************************************************************/
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * CollationFrenchTest is a third level test class. This tests the locale
9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * specific tertiary rules.  For example, the French secondary sorting on
10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * accented characters.
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef _FRCOLL
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define _FRCOLL
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/utypes.h"
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if !UCONFIG_NO_COLLATION
18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "tscoll.h"
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass CollationFrenchTest: public IntlTestCollator {
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querupublic:
23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // If this is too small for the test data, just increase it.
24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // Just don't make it too large, otherwise the executable will get too big
25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    enum EToken_Len { MAX_TOKEN_LEN = 16 };
26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    CollationFrenchTest();
28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    virtual ~CollationFrenchTest();
29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // perform tests with strength SECONDARY
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestSecondary(/* char* par */);
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // perform tests with strength TERTIARY
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestTertiary(/* char* par */);
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // perform extra tests
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    void TestExtra(/* char* par */);
39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruprivate:
41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    static const UChar testSourceCases[][MAX_TOKEN_LEN];
42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    static const UChar testTargetCases[][MAX_TOKEN_LEN];
43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    static const UChar testBugs[][MAX_TOKEN_LEN];
44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    static const Collator::EComparisonResult results[];
45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    static const UChar testAcute[][MAX_TOKEN_LEN];
46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    Collator *myCollation;
48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_COLLATION */
51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
53