CollationEnglishTest.java revision 2e13a2bdade5cd0a635f0bd89805931a6fd710da
1aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin/* GENERATED SOURCE. DO NOT MODIFY. */
2f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// © 2016 and later: Unicode, Inc. and others.
3f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License
4aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin/*
5aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin *******************************************************************************
6aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * Copyright (C) 2002-2014, International Business Machines Corporation and
7aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * others. All Rights Reserved.
8aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin *******************************************************************************
9aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin */
10aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
11aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin/**
12aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * Port From:   ICU4C v2.1 : Collate/CollationEnglishTest
13aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin * Source File: $ICU4CRoot/source/test/intltest/encoll.cpp
14aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin **/
15aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
16aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinpackage android.icu.dev.test.collator;
17aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
18aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport java.util.Locale;
19aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
20f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertimport org.junit.Before;
21f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubertimport org.junit.Test;
22f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
23aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport android.icu.dev.test.TestFmwk;
24aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport android.icu.text.CollationKey;
25aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinimport android.icu.text.Collator;
262e13a2bdade5cd0a635f0bd89805931a6fd710daPete Gillinimport android.icu.testsharding.MainTestShard;
27aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
282e13a2bdade5cd0a635f0bd89805931a6fd710daPete Gillin@MainTestShard
29aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffinpublic class CollationEnglishTest extends TestFmwk{
30aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private static char[][] testSourceCases = {
31aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */},
32aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
33aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0020 /* ' ' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
34aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
35aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0048 /* 'H' */, 0x0065 /* 'e' */, 0x006C /* 'l' */, 0x006C /* 'l' */, 0x006F /* 'o' */},
36aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */, 0x0042 /* 'B' */, 0x0043 /* 'C' */},
37aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
38aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
39aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
40aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
41aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00EA, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */},
42aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x00E9},
43aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00C4, 0x0042 /* 'B' */, 0x0308, 0x0043 /* 'C' */, 0x0308},
44aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0308, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
45aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */, 0x0072 /* 'r' */},
46aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0072 /* 'r' */, 0x006F /* 'o' */, 0x006C /* 'l' */, 0x0065 /* 'e' */, 0x0073 /* 's' */},
47aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
48aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */},
49aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */},
50aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */},
51aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0074 /* 't' */, 0x0063 /* 'c' */, 0x006F /* 'o' */, 0x006D /* 'm' */, 0x0070 /* 'p' */, 0x0061 /* 'a' */, 0x0072 /* 'r' */, 0x0065 /* 'e' */, 0x0070 /* 'p' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0069 /* 'i' */, 0x006E /* 'n' */},
52aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */},
53aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0023 /* '#' */, 0x0062 /* 'b' */},
54aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0023 /* '#' */, 0x0062 /* 'b' */},
55aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
56aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
57aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
58aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
59aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00E6, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
60aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
61aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
62aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
63aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
64aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
65aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
66aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x0048 /* 'H' */, 0x0063 /* 'c' */},
67aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0308, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
68aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0074 /* 't' */, 0x0068 /* 'h' */, 0x0069 /* 'i' */, 0x0302, 0x0073 /* 's' */},
69aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00EA, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */},
70aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
71aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
72aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
73aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x00E6, 0x0063 /* 'c' */},
74aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
75aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
76aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x00E6, 0x0063 /* 'c' */},
77aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
78aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
79aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x00E9}                                            // 49
80aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    };
81aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
82aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private static char[][] testTargetCases = {
83aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
84aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
85aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x002D /* '-' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
86aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */},
87aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0068 /* 'h' */, 0x0065 /* 'e' */, 0x006C /* 'l' */, 0x006C /* 'l' */, 0x006F /* 'o' */},
88aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */, 0x0042 /* 'B' */, 0x0043 /* 'C' */},
89aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */, 0x0042 /* 'B' */, 0x0043 /* 'C' */},
90aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */, 0x0073 /* 's' */},
91aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */, 0x0073 /* 's' */},
92aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0062 /* 'b' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0063 /* 'c' */, 0x006B /* 'k' */, 0x0062 /* 'b' */, 0x0069 /* 'i' */, 0x0072 /* 'r' */, 0x0064 /* 'd' */},
93aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x00E9},
94aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */, 0x0072 /* 'r' */},
95aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00C4, 0x0042 /* 'B' */, 0x0308, 0x0043 /* 'C' */, 0x0308},
96aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */, 0x0308, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
97aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */},
98aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0072 /* 'r' */, 0x006F /* 'o' */, 0x0302, 0x006C /* 'l' */, 0x0065 /* 'e' */},
99aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */, 0x00E1, 0x0063 /* 'c' */, 0x0064 /* 'd' */},
100aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0041 /* 'A' */, 0x00E1, 0x0063 /* 'c' */, 0x0064 /* 'd' */},
101aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
102aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
103aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0054 /* 'T' */, 0x0043 /* 'C' */, 0x006F /* 'o' */, 0x006D /* 'm' */, 0x0070 /* 'p' */, 0x0061 /* 'a' */, 0x0072 /* 'r' */, 0x0065 /* 'e' */, 0x0050 /* 'P' */, 0x006C /* 'l' */, 0x0061 /* 'a' */, 0x0069 /* 'i' */, 0x006E /* 'n' */},
104aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0042 /* 'B' */, 0x0063 /* 'c' */},
105aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0023 /* '#' */, 0x0042 /* 'B' */},
106aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0026 /* '&' */, 0x0062 /* 'b' */},
107aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0023 /* '#' */, 0x0063 /* 'c' */},
108aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
109aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00C4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
110aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
111aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00C4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
112aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00C4, 0x0062 /* 'b' */, 0x0063 /* 'c' */, 0x0064 /* 'd' */, 0x0061 /* 'a' */},
113aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0023 /* '#' */, 0x0063 /* 'c' */},
114aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
115aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x003D /* '=' */, 0x0063 /* 'c' */},
116aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0064 /* 'd' */},
117aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
118aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0043 /* 'C' */, 0x0048 /* 'H' */, 0x0063 /* 'c' */},
119aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
120aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0074 /* 't' */, 0x0068 /* 'h' */, 0x00EE, 0x0073 /* 's' */},
121aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00E9, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x00E9},
122aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0042 /* 'B' */, 0x0043 /* 'C' */},
123aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0062 /* 'b' */, 0x0064 /* 'd' */},
124aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
125aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x00C6, 0x0063 /* 'c' */},
126aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0042 /* 'B' */, 0x0064 /* 'd' */},
127aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
128aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x00C6, 0x0063 /* 'c' */},
129aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0042 /* 'B' */, 0x0064 /* 'd' */},
130aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00E4, 0x0062 /* 'b' */, 0x0063 /* 'c' */},
131aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0070 /* 'p' */, 0x00EA, 0x0063 /* 'c' */, 0x0068 /* 'h' */, 0x0065 /* 'e' */}
132aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    };                                           // 49
133aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
134aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private static int[] results = {
135aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    //-1:LESS; 0:EQUAL; 1:GREATER
136aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
137aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1, /*Collator::GREATER,*/
138aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
139aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
140aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
141aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
142aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
143aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
144aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
145aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1, /*Collator::GREATER,*/                                                          /* 10 */
146aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
147aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
148aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
149aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
150aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
151aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
152aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
153aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
154aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
155aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,                                                             /* 20 */
156aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
157aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
158aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
159aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
160aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
161aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
162aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        /* Test Tertiary  > 26 */
163aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
164aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
165aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
166aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,                                                             /* 30 */
167aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
168aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
169aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        1,
170aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
171aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
172aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
173aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        /* test identical > 36 */
174aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
175aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
176aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        /* test primary > 38 */
177aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
178aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,                                                            /* 40 */
179aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
180aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
181aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
182aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        /* test secondary > 43 */
183aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
184aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
185aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        0,
186aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
187aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1,
188aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        -1                                                                  // 49
189aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    };
190aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
191aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private static char [][] testBugs = {
192aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x61},
193aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x41},
194aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65},
195aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x45},
196aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00e9},
197aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00e8},
198aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00ea},
199aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x00eb},
200aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x61},
201aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x78}
202aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    };
203aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
204aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    // 0x0300 is grave, 0x0301 is acute
205aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    // the order of elements in this array must be different than the order in CollationFrenchTest
206aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private static char[][] testAcute = {
207aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x65},
208aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x65, 0x0301},
209aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x65, 0x0301, 0x0300},
210aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x65, 0x0300},
211aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x65, 0x0300, 0x0301},
212aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x65},
213aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x65, 0x0301},
214aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x65, 0x0301, 0x0300},
215aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x65, 0x0300},
216aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x65, 0x0300, 0x0301},
217aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x0300, 0x65},
218aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x0300, 0x65, 0x0301},
219aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x0300, 0x65, 0x0301, 0x0300},
220aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x0300, 0x65, 0x0300},
221aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0301, 0x0300, 0x65, 0x0300, 0x0301},
222aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x65},
223aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x65, 0x0301},
224aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x65, 0x0301, 0x0300},
225aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x65, 0x0300},
226aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x65, 0x0300, 0x0301},
227aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x0301, 0x65},
228aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x0301, 0x65, 0x0301},
229aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x0301, 0x65, 0x0301, 0x0300},
230aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x0301, 0x65, 0x0300},
231aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x65, 0x0300, 0x0301, 0x65, 0x0300, 0x0301}
232aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    };
233aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
234aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private static char[][] testMore = {
235aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0065 /* 'e' */},
236aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        { 0x00E6},
237aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        { 0x00C6},
238aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x0061 /* 'a' */, 0x0066 /* 'f' */},
239aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x006F /* 'o' */, 0x0065 /* 'e' */},
240aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        { 0x0153},
241aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        { 0x0152},
242aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {0x006F /* 'o' */, 0x0066 /* 'f' */},
243aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    };
244aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
245aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private Collator myCollation = null;
246aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
247aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    public CollationEnglishTest() {
248aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    }
249f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert
250f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Before
251f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    public void init()throws Exception {
252aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        myCollation = Collator.getInstance(Locale.ENGLISH);
253aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    }
254aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
255aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    //performs test with strength PRIMARY
256f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
257aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    public void TestPrimary() {
258aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int i;
259aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        myCollation.setStrength(Collator.PRIMARY);
260aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        for (i = 38; i < 43 ; i++) {
261aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            doTest(testSourceCases[i], testTargetCases[i], results[i]);
262aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }
263aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    }
264aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
265aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    //perform test with strength SECONDARY
266f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
267aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    public void TestSecondary() {
268aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int i;
269aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        myCollation.setStrength(Collator.SECONDARY);
270aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        for (i = 43; i < 49 ; i++) {
271aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            doTest(testSourceCases[i], testTargetCases[i], results[i]);
272aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }
273aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
274aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        //test acute and grave ordering (compare to french collation)
275aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int j;
276aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int expected;
277aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        for (i = 0; i < testAcute.length; i++) {
278aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            for (j = 0; j < testAcute.length; j++) {
279aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                logln("i = " + i + "; j = " + j);
280aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                if (i <  j)
281aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                    expected = -1;
282aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                else if (i == j)
283aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                    expected = 0;
284aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                else // (i >  j)
285aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                    expected = 1;
286aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                doTest(testAcute[i], testAcute[j], expected );
287aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            }
288aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }
289aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    }
290aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
291aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    //perform test with strength TERTIARY
292f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert    @Test
293aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    public void TestTertiary() {
294aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int i = 0;
295aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        myCollation.setStrength(Collator.TERTIARY);
296aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        //for (i = 0; i < 38 ; i++)  //attention: there is something wrong with 36, 37.
297aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        for (i = 0; i < 38 ; i++)
298aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {
299aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            doTest(testSourceCases[i], testTargetCases[i], results[i]);
300aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }
301aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
302aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int j = 0;
303aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        for (i = 0; i < 10; i++)
304aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {
305aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            for (j = i+1; j < 10; j++)
306aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            {
307aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                doTest(testBugs[i], testBugs[j], -1);
308aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            }
309aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }
310aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
311aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        //test more interesting cases
312aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int expected;
313aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        for (i = 0; i < testMore.length; i++)
314aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {
315aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            for (j = 0; j < testMore.length; j++)
316aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            {
317aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                if (i <  j)
318aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                    expected = -1;
319aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                else if (i == j)
320aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                    expected = 0;
321aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                else // (i >  j)
322aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                    expected = 1;
323aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                doTest(testMore[i], testMore[j], expected );
324aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            }
325aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }
326aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    }
327aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
328aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin   // main test routine, tests rules defined by the "en" locale
329aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private void doTest(char[] source, char[] target, int result){
330aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
331aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        String s = new String(source);
332aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        String t = new String(target);
333aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int compareResult = myCollation.compare(s, t);
334aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        CollationKey sortKey1, sortKey2;
335aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        sortKey1 = myCollation.getCollationKey(s);
336aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        sortKey2 = myCollation.getCollationKey(t);
337aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        int keyResult = sortKey1.compareTo(sortKey2);
338aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        reportCResult(s, t, sortKey1, sortKey2, compareResult, keyResult, compareResult, result);
339aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
340aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    }
341aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
342aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    private void reportCResult( String source, String target, CollationKey sourceKey, CollationKey targetKey,
343aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                                int compareResult, int keyResult, int incResult, int expectedResult ){
344aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        if (expectedResult < -1 || expectedResult > 1)
345aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        {
346aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            errln("***** invalid call to reportCResult ****");
347aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            return;
348aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }
349aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
350aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        boolean ok1 = (compareResult == expectedResult);
351aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        boolean ok2 = (keyResult == expectedResult);
352aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        boolean ok3 = (incResult == expectedResult);
353aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
354aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        if (ok1 && ok2 && ok3 && !isVerbose()){
355aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            return;
356aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }else{
357aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            String msg1 = ok1? "Ok: compare(\"" : "FAIL: compare(\"";
358aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            String msg2 = "\", \"";
359aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            String msg3 = "\") returned ";
360aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            String msg4 = "; expected ";
361aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
362aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            String sExpect = new String("");
363aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            String sResult = new String("");
364aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            sResult = CollationTest.appendCompareResult(compareResult, sResult);
365aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            sExpect = CollationTest.appendCompareResult(expectedResult, sExpect);
366aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            if (ok1) {
367aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                logln(msg1 + source + msg2 + target + msg3 + sResult);
368aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            } else {
369aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
370aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            }
371aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
372aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            msg1 = ok2 ? "Ok: key(\"" : "FAIL: key(\"";
373aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            msg2 = "\").compareTo(key(\"";
374aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            msg3 = "\")) returned ";
375aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            sResult = CollationTest.appendCompareResult(keyResult, sResult);
376aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            if (ok2) {
377aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                logln(msg1 + source + msg2 + target + msg3 + sResult);
378aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            } else {
379aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
380aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                msg1 = "  ";
381aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                msg2 = " vs. ";
382aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                errln(msg1 + CollationTest.prettify(sourceKey) + msg2 + CollationTest.prettify(targetKey));
383aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            }
384aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
385aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            msg1 = ok3 ? "Ok: incCompare(\"" : "FAIL: incCompare(\"";
386aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            msg2 = "\", \"";
387aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            msg3 = "\") returned ";
388aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
389aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            sResult = CollationTest.appendCompareResult(incResult, sResult);
390aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin
391aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            if (ok3) {
392aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                logln(msg1 + source + msg2 + target + msg3 + sResult);
393aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            } else {
394aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin                errln(msg1 + source + msg2 + target + msg3 + sResult + msg4 + sExpect);
395aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin            }
396aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin        }
397aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin    }
398aefe4d1f8f1773ead1a52f7a5d2c9e0009353600Paul Duffin }
399