1 // Copyright (C) 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 */