2 *******************************************************************************
\r
3 * Copyright (C) 2006-2008, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 *******************************************************************************
\r
8 package com.ibm.icu.tests;
\r
10 import java.util.Locale;
\r
12 import com.ibm.icu.text.CollationKey;
\r
13 import com.ibm.icu.text.Collator;
\r
14 import com.ibm.icu.util.ULocale;
\r
16 public class CollatorTest extends ICUTestCase {
\r
17 private static final String s1 = "Fu\u0308nf"; // capital F + u + diaresis
\r
18 private static final String s2 = "fu\u0308nf"; // u + diaresis
\r
19 private static final String s3 = "f\u00fcnf"; // u-umlaut
\r
20 private static final String s4 = "fu\u0308\u0316nf"; // u + diaresis above + grave below
\r
21 private static final String s5 = "fu\u0316\u0308nf"; // u + grave below + diaresis above
\r
24 * Test method for 'com.ibm.icu.text.Collator.hashCode()'
\r
26 public void testHashCode() {
\r
27 Collator c = Collator.getInstance();
\r
28 c.setStrength(Collator.SECONDARY);
\r
29 Collator c2 = Collator.getInstance();
\r
30 c2.setStrength(Collator.SECONDARY);
\r
31 Collator cn = Collator.getInstance();
\r
32 cn.setStrength(Collator.TERTIARY);
\r
33 testEHCS(c, c2, cn);
\r
37 * Test method for 'com.ibm.icu.text.Collator.Collator(Collator)'
\r
39 public void testCollator() {
\r
40 // implicitly tested everywhere
\r
44 * Test method for 'com.ibm.icu.text.Collator.setStrength(int)'
\r
46 public void testSetStrength() {
\r
47 Collator c = Collator.getInstance();
\r
48 c.setStrength(Collator.PRIMARY);
\r
49 assertTrue(0 == c.compare(s1, s2));
\r
50 c.setStrength(Collator.SECONDARY);
\r
51 assertTrue(0 == c.compare(s1, s2));
\r
52 c.setStrength(Collator.TERTIARY);
\r
53 assertTrue(0 < c.compare(s1, s2));
\r
54 assertTrue(0 == c.compare(s2, s3));
\r
55 c.setStrength(Collator.QUATERNARY);
\r
56 assertTrue(0 > c.compare(s2, s3));
\r
60 * Test method for 'com.ibm.icu.text.Collator.setDecomposition(int)'
\r
62 public void testSetDecomposition() {
\r
63 Collator c = Collator.getInstance();
\r
64 c.setStrength(Collator.TERTIARY);
\r
65 assertTrue(0 != c.compare(s4, s5));
\r
66 c.setDecomposition(Collator.IDENTICAL);
\r
67 assertTrue(0 == c.compare(s4, s5));
\r
71 * Test method for 'com.ibm.icu.text.Collator.getInstance()'
\r
73 public void testGetInstance() {
\r
74 // implicitly tested everywhere
\r
78 * Test method for 'com.ibm.icu.text.Collator.getInstance(ULocale)'
\r
80 public void testGetInstanceULocale() {
\r
81 Collator c = Collator.getInstance(ULocale.GERMANY);
\r
86 * Test method for 'com.ibm.icu.text.Collator.getInstance(Locale)'
\r
88 public void testGetInstanceLocale() {
\r
89 Collator c = Collator.getInstance(Locale.GERMANY);
\r
94 * Test method for 'com.ibm.icu.text.Collator.getAvailableLocales()'
\r
96 public void testGetAvailableLocales() {
\r
97 assertNotNull(Collator.getAvailableLocales());
\r
101 * Test method for 'com.ibm.icu.text.Collator.getAvailableULocales()'
\r
103 public void testGetAvailableULocales() {
\r
104 assertNotNull(Collator.getAvailableULocales());
\r
108 * Test method for 'com.ibm.icu.text.Collator.getKeywords()'
\r
110 public void testGetKeywords() {
\r
111 assertEquals(0, Collator.getKeywords().length);
\r
115 * Test method for 'com.ibm.icu.text.Collator.getKeywordValues(String)'
\r
117 public void testGetKeywordValues() {
\r
118 assertEquals(0, Collator.getKeywordValues("").length);
\r
122 * Test method for 'com.ibm.icu.text.Collator.getStrength()'
\r
124 public void testGetStrength() {
\r
125 Collator c = Collator.getInstance();
\r
126 c.setStrength(Collator.PRIMARY);
\r
127 assertEquals(Collator.PRIMARY, c.getStrength());
\r
128 c.setStrength(Collator.SECONDARY);
\r
129 assertEquals(Collator.SECONDARY, c.getStrength());
\r
133 * Test method for 'com.ibm.icu.text.Collator.getDecomposition()'
\r
135 public void testGetDecomposition() {
\r
136 Collator c = Collator.getInstance();
\r
137 c.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
\r
138 assertEquals(Collator.CANONICAL_DECOMPOSITION, c.getDecomposition());
\r
139 c.setDecomposition(Collator.NO_DECOMPOSITION);
\r
140 assertEquals(Collator.NO_DECOMPOSITION, c.getDecomposition());
\r
144 * Test method for 'com.ibm.icu.text.Collator.compare(Object, Object)'
\r
146 public void testCompareObjectObject() {
\r
147 Collator c = Collator.getInstance();
\r
148 c.setStrength(Collator.PRIMARY);
\r
149 assertTrue(0 == c.compare((Object)s1, (Object)s2));
\r
153 * Test method for 'com.ibm.icu.text.Collator.equals(String, String)'
\r
155 public void testEqualsStringString() {
\r
156 Collator c = Collator.getInstance();
\r
157 c.setStrength(Collator.PRIMARY);
\r
158 assertTrue(c.equals(s1, s2));
\r
162 * Test method for 'com.ibm.icu.text.Collator.compare(String, String)'
\r
164 public void testCompareStringString() {
\r
165 Collator c = Collator.getInstance();
\r
166 c.setStrength(Collator.PRIMARY);
\r
167 assertTrue(0 == c.compare(s1, s2));
\r
171 * Test method for 'com.ibm.icu.text.Collator.getCollationKey(String)'
\r
173 public void testGetCollationKey() {
\r
174 Collator c = Collator.getInstance();
\r
175 c.setStrength(Collator.PRIMARY);
\r
176 CollationKey k1 = c.getCollationKey(s1);
\r
177 CollationKey k2 = c.getCollationKey(s2);
\r
178 assertTrue(k1.equals(k2));
\r
179 c.setStrength(Collator.TERTIARY);
\r
180 k1 = c.getCollationKey(s1);
\r
181 k2 = c.getCollationKey(s2);
\r
182 assertFalse(k1.equals(k2));
\r
186 * Test method for 'com.ibm.icu.text.Collator.toString()'
\r
188 public void testToString() {
\r
189 assertNotNull(Collator.getInstance().toString());
\r
193 * Test method for 'com.ibm.icu.text.Collator.clone()'
\r
195 public void testClone() {
\r
200 * Test method for 'com.ibm.icu.text.Collator.equals(Object)'
\r
202 public void testEqualsObject() {
\r