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 * 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
24class CollationFinnishTest: public IntlTestCollator {
25public:
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
40private:
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
51