Imported Upstream version 58.1
[platform/upstream/icu.git] / source / test / intltest / frcoll.h
1 // Copyright (C) 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
23 class CollationFrenchTest: public IntlTestCollator {
24 public:
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
42 private:
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