1 /******************************************************************** 2 * COPYRIGHT: 3 * Copyright (c) 1997-2003, International Business Machines Corporation and 4 * others. All Rights Reserved. 5 ********************************************************************/ 6 7 /** 8 * CollationGermanTest is a third level test class. This tests the locale 9 * specific primary, secondary and tertiary rules. For example, o-umlaut 10 * is sorted with expanding char e. 11 */ 12 #ifndef _DECOLL 13 #define _DECOLL 14 15 #include "unicode/utypes.h" 16 17 #if !UCONFIG_NO_COLLATION 18 19 #include "tscoll.h" 20 21 class CollationGermanTest: public IntlTestCollator { 22 public: 23 // If this is too small for the test data, just increase it. 24 // Just don't make it too large, otherwise the executable will get too big 25 enum EToken_Len { MAX_TOKEN_LEN = 16 }; 26 27 CollationGermanTest(); 28 virtual ~CollationGermanTest(); 29 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 30 31 // perform test with strength PRIMARY 32 void TestPrimary(/* char* par */); 33 34 // perform test with strength SECONDARY 35 void TestSecondary(/* char* par */); 36 37 // perform tests with strength TERTIARY 38 void TestTertiary(/* char* par */); 39 40 private: 41 static const UChar testSourceCases[][MAX_TOKEN_LEN]; 42 static const UChar testTargetCases[][MAX_TOKEN_LEN]; 43 static const Collator::EComparisonResult results[][2]; 44 45 Collator *myCollation; 46 }; 47 48 #endif /* #if !UCONFIG_NO_COLLATION */ 49 50 #endif 51