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