• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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