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