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