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