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