Home | History | Annotate | Download | only in intltest
      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