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