1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /********************************************************************
5 * Copyright (c) 1997-2003, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 ********************************************************************/
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).
18 #include "unicode/utypes.h"
20 #if !UCONFIG_NO_COLLATION
24 class CollationKanaTest
: public IntlTestCollator
{
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 };
31 virtual ~CollationKanaTest();
32 void runIndexedTest( int32_t index
, UBool exec
, const char* &name
, char* par
= NULL
);
34 // performs test with strength TERIARY
35 void TestTertiary(/* char* par */);
37 /* Testing base letters */
40 /* Testing plain, Daku-ten, Handaku-ten letters */
41 void TestPlainDakutenHandakuten();
43 /* Test Small, Large letters */
44 void TestSmallLarge();
46 /* Test Katakana, Hiragana letters */
47 void TestKatakanaHiragana();
49 /* Test Choo-on kigoo */
50 void TestChooonKigoo();
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
];
62 Collator
*myCollation
;
65 #endif /* #if !UCONFIG_NO_COLLATION */