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 21class CollationGermanTest: public IntlTestCollator { 22public: 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 40private: 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