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