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 
22 class CollationKanaTest: public IntlTestCollator {
23 public:
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 
50 private:
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