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