Home | History | Annotate | Download | only in intltest
      1 /********************************************************************
      2  * COPYRIGHT:
      3  * Copyright (c) 1997-2006, International Business Machines Corporation and
      4  * others. All Rights Reserved.
      5  ********************************************************************/
      6 
      7 /**
      8  * G7CollationTest is a third level test class.  This test performs the examples
      9  * mentioned on the IBM Java international demos web site.
     10  * Sample Rules: & Z < p , P
     11  * Effect :  Making P sort after Z.
     12  *
     13  * Sample Rules: & c < ch , cH, Ch, CH
     14  * Effect : As well as adding sequences of characters that act as a single character (this is
     15  * known as contraction), you can also add characters that act like a sequence of
     16  * characters (this is known as expansion).
     17  *
     18  * Sample Rules: & Question'-'mark ; '?' & Hash'-'mark ; '#' & Ampersand ; '&'
     19  * Effect : Expansion and contraction can actually be combined.
     20  *
     21  * Sample Rules: & aa ; a'-' & ee ; e'-' & ii ; i'-' & oo ; o'-' & uu ; u'-'
     22  * Effect : sorted sequence as the following,
     23  * aardvark
     24  * a-rdvark
     25  * abbot
     26  * coop
     27  * co-p
     28  * cop
     29  */
     30 
     31 #ifndef _G7COLL
     32 #define _G7COLL
     33 
     34 #include "unicode/utypes.h"
     35 
     36 #if !UCONFIG_NO_COLLATION
     37 
     38 #include "unicode/tblcoll.h"
     39 #include "tscoll.h"
     40 
     41 class G7CollationTest: public IntlTestCollator {
     42 public:
     43     // If this is too small for the test data, just increase it.
     44     // Just don't make it too large, otherwise the executable will get too big
     45     enum EToken_Len { MAX_TOKEN_LEN = 16 };
     46 
     47     enum ETotal_Locales { TESTLOCALES = 12 };
     48     enum ETotal_Fixed { FIXEDTESTSET = 15 };
     49     enum ETotal_Test { TOTALTESTSET = 30 };
     50 
     51     G7CollationTest() {}
     52     virtual ~G7CollationTest();
     53     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
     54 
     55 
     56     // perform test for G7 locales
     57     void TestG7Locales(/* char* par */);
     58 
     59     // perform test with added rules " & Z < p, P"
     60     void TestDemo1(/* char* par */);
     61 
     62     // perorm test with added rules "& C < ch , cH, Ch, CH"
     63     void TestDemo2(/* char* par */);
     64 
     65     // perform test with added rules
     66     // "& Question'-'mark ; '?' & Hash'-'mark ; '#' & Ampersand ; '&'"
     67     void TestDemo3(/* char* par */);
     68 
     69     // perform test with added rules
     70     // " & aa ; a'-' & ee ; e'-' & ii ; i'-' & oo ; o'-' & uu ; u'-' "
     71     void TestDemo4(/* char* par */);
     72 
     73 };
     74 
     75 #endif /* #if !UCONFIG_NO_COLLATION */
     76 
     77 #endif
     78