Imported Upstream version 58.1
[platform/upstream/icu.git] / source / test / intltest / ficoll.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  * CollationFinnishTest is a third level test class. This tests the locale
11  * specific primary and tertiary rules. For example, a-ring sorts after z
12  * and w and v are equivalent.
13  */
14
15 #ifndef _FICOLL
16 #define _FICOLL
17
18 #include "unicode/utypes.h"
19
20 #if !UCONFIG_NO_COLLATION
21
22 #include "tscoll.h"
23
24 class CollationFinnishTest: public IntlTestCollator {
25 public:
26     // If this is too small for the test data, just increase it.
27     // Just don't make it too large, otherwise the executable will get too big
28     enum EToken_Len { MAX_TOKEN_LEN = 16 };
29
30     CollationFinnishTest();
31     virtual ~CollationFinnishTest();
32     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
33
34     // perform tests with strength PRIMARY
35     void TestPrimary(/* char* par */);
36
37     // perform test with strength TERTIARY
38     void TestTertiary(/* char* par */);
39
40 private:
41     static const UChar testSourceCases[][MAX_TOKEN_LEN];
42     static const UChar testTargetCases[][MAX_TOKEN_LEN];
43     static const Collator::EComparisonResult results[];
44
45     Collator *myCollation;
46 };
47
48 #endif /* #if !UCONFIG_NO_COLLATION */
49
50 #endif