| /* |
| ***************************************************************************************** |
| * * |
| * COPYRIGHT: * |
| * (C) Copyright Taligent, Inc., 1997 * |
| * (C) Copyright International Business Machines Corporation, 1997-1998 * |
| * Licensed Material - Program-Property of IBM - All Rights Reserved. * |
| * US Government Users Restricted Rights - Use, duplication, or disclosure * |
| * restricted by GSA ADP Schedule Contract with IBM Corp. * |
| * * |
| ***************************************************************************************** |
| */ |
| |
| /** |
| * CollationGermanTest is a third level test class. This tests the locale |
| * specific primary, secondary and tertiary rules. For example, o-umlaut |
| * is sorted with expanding char e. |
| */ |
| #ifndef _DECOLL |
| #define _DECOLL |
| |
| #ifndef _UTYPES |
| #include "utypes.h" |
| #endif |
| |
| #ifndef _COLL |
| #include "coll.h" |
| #endif |
| |
| #ifndef _INTLTEST |
| #include "intltest.h" |
| #endif |
| |
| class CollationGermanTest: public IntlTest { |
| public: |
| // static constants |
| enum EToken_Len { MAX_TOKEN_LEN = 128 }; |
| |
| CollationGermanTest(); |
| ~CollationGermanTest(); |
| void runIndexedTest( int32_t index, bool_t exec, char* &name, char* par = NULL ); |
| |
| //main test routine, tests rules specific to germa locale |
| void doTest( UnicodeString source, UnicodeString target, Collator::EComparisonResult result); |
| |
| // perform test with strength PRIMARY |
| void TestPrimary( char* par ); |
| |
| // perform test with strength SECONDARY |
| void TestSecondary( char* par ); |
| |
| // perform tests with strength TERTIARY |
| void TestTertiary( char* par ); |
| |
| private: |
| static const UChar testSourceCases[][MAX_TOKEN_LEN]; |
| static const UChar testTargetCases[][MAX_TOKEN_LEN]; |
| static const Collator::EComparisonResult results[][2]; |
| |
| Collator *myCollation; |
| }; |
| |
| #endif |