1/********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2003, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6
7/**
8 * CollationKanaTest is a third level test class.  This tests the locale
9 * specific tertiary rules.  For example, the term 'A-' (/u3041/u30fc) is
10 * equivalent to 'AA' (/u3041/u3041).
11 */
12
13#ifndef _JACOLL
14#define _JACOLL
15
16#include "unicode/utypes.h"
17
18#if !UCONFIG_NO_COLLATION
19
20#include "tscoll.h"
21
22class CollationKanaTest: 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    CollationKanaTest();
29    virtual ~CollationKanaTest();
30    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
31
32    // performs test with strength TERIARY
33    void TestTertiary(/* char* par */);
34
35    /* Testing base letters */
36    void TestBase();
37
38    /* Testing plain, Daku-ten, Handaku-ten letters */
39    void TestPlainDakutenHandakuten();
40
41    /* Test Small, Large letters */
42    void TestSmallLarge();
43
44    /* Test Katakana, Hiragana letters */
45    void TestKatakanaHiragana();
46
47    /* Test Choo-on kigoo */
48    void TestChooonKigoo();
49
50private:
51    static const UChar testSourceCases[][MAX_TOKEN_LEN];
52    static const UChar testTargetCases[][MAX_TOKEN_LEN];
53    static const Collator::EComparisonResult results[];
54    static const UChar testBaseCases[][MAX_TOKEN_LEN];
55    static const UChar testPlainDakutenHandakutenCases[][MAX_TOKEN_LEN];
56    static const UChar testSmallLargeCases[][MAX_TOKEN_LEN];
57    static const UChar testKatakanaHiraganaCases[][MAX_TOKEN_LEN];
58    static const UChar testChooonKigooCases[][MAX_TOKEN_LEN];
59
60    Collator *myCollation;
61};
62
63#endif /* #if !UCONFIG_NO_COLLATION */
64
65#endif
66