| /* |
| ******************************************************************************* |
| * Copyright (C) 2006-2011, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| */ |
| |
| package com.ibm.icu.tests; |
| |
| import java.util.Locale; |
| |
| import com.ibm.icu.text.CollationKey; |
| import com.ibm.icu.text.Collator; |
| import com.ibm.icu.util.ULocale; |
| |
| public class CollatorTest extends ICUTestCase { |
| private static final String s1 = "Fu\u0308nf"; // capital F + u + diaresis |
| private static final String s2 = "fu\u0308nf"; // u + diaresis |
| private static final String s3 = "f\u00fcnf"; // u-umlaut |
| private static final String s4 = "fu\u0308\u0316nf"; // u + diaresis above + grave below |
| private static final String s5 = "fu\u0316\u0308nf"; // u + grave below + diaresis above |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.hashCode()' |
| */ |
| public void testHashCode() { |
| Collator c = Collator.getInstance(); |
| c.setStrength(Collator.SECONDARY); |
| Collator c2 = Collator.getInstance(); |
| c2.setStrength(Collator.SECONDARY); |
| Collator cn = Collator.getInstance(); |
| cn.setStrength(Collator.TERTIARY); |
| testEHCS(c, c2, cn); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.Collator(Collator)' |
| */ |
| public void testCollator() { |
| // implicitly tested everywhere |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.setStrength(int)' |
| */ |
| public void testSetStrength() { |
| Collator c = Collator.getInstance(); |
| c.setStrength(Collator.PRIMARY); |
| assertTrue(0 == c.compare(s1, s2)); |
| c.setStrength(Collator.SECONDARY); |
| assertTrue(0 == c.compare(s1, s2)); |
| c.setStrength(Collator.TERTIARY); |
| assertTrue(0 < c.compare(s1, s2)); |
| assertTrue(0 == c.compare(s2, s3)); |
| c.setStrength(Collator.QUATERNARY); |
| assertTrue(0 > c.compare(s2, s3)); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.setDecomposition(int)' |
| */ |
| public void testSetDecomposition() { |
| Collator c = Collator.getInstance(); |
| c.setStrength(Collator.TERTIARY); |
| assertTrue(0 != c.compare(s4, s5)); |
| c.setDecomposition(Collator.IDENTICAL); |
| assertTrue(0 == c.compare(s4, s5)); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getInstance()' |
| */ |
| public void testGetInstance() { |
| // implicitly tested everywhere |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getInstance(ULocale)' |
| */ |
| public void testGetInstanceULocale() { |
| Collator c = Collator.getInstance(ULocale.GERMANY); |
| assertNotNull(c); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getInstance(Locale)' |
| */ |
| public void testGetInstanceLocale() { |
| Collator c = Collator.getInstance(Locale.GERMANY); |
| assertNotNull(c); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getAvailableLocales()' |
| */ |
| public void testGetAvailableLocales() { |
| assertNotNull(Collator.getAvailableLocales()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getAvailableULocales()' |
| */ |
| public void testGetAvailableULocales() { |
| assertNotNull(Collator.getAvailableULocales()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getKeywords()' |
| */ |
| public void testGetKeywords() { |
| assertEquals(0, Collator.getKeywords().length); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getKeywordValues(String)' |
| */ |
| public void testGetKeywordValues() { |
| assertEquals(0, Collator.getKeywordValues("").length); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getStrength()' |
| */ |
| public void testGetStrength() { |
| Collator c = Collator.getInstance(); |
| c.setStrength(Collator.PRIMARY); |
| assertEquals(Collator.PRIMARY, c.getStrength()); |
| c.setStrength(Collator.SECONDARY); |
| assertEquals(Collator.SECONDARY, c.getStrength()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getDecomposition()' |
| */ |
| public void testGetDecomposition() { |
| Collator c = Collator.getInstance(); |
| c.setDecomposition(Collator.CANONICAL_DECOMPOSITION); |
| assertEquals(Collator.CANONICAL_DECOMPOSITION, c.getDecomposition()); |
| c.setDecomposition(Collator.NO_DECOMPOSITION); |
| assertEquals(Collator.NO_DECOMPOSITION, c.getDecomposition()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.compare(Object, Object)' |
| */ |
| public void testCompareObjectObject() { |
| Collator c = Collator.getInstance(); |
| c.setStrength(Collator.PRIMARY); |
| assertTrue(0 == c.compare((Object)s1, (Object)s2)); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.equals(String, String)' |
| */ |
| public void testEqualsStringString() { |
| Collator c = Collator.getInstance(); |
| c.setStrength(Collator.PRIMARY); |
| assertTrue(c.equals(s1, s2)); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.compare(String, String)' |
| */ |
| public void testCompareStringString() { |
| Collator c = Collator.getInstance(); |
| c.setStrength(Collator.PRIMARY); |
| assertTrue(0 == c.compare(s1, s2)); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.getCollationKey(String)' |
| */ |
| public void testGetCollationKey() { |
| Collator c = Collator.getInstance(); |
| c.setStrength(Collator.PRIMARY); |
| CollationKey k1 = c.getCollationKey(s1); |
| CollationKey k2 = c.getCollationKey(s2); |
| assertTrue(k1.equals(k2)); |
| c.setStrength(Collator.TERTIARY); |
| k1 = c.getCollationKey(s1); |
| k2 = c.getCollationKey(s2); |
| assertFalse(k1.equals(k2)); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.toString()' |
| */ |
| public void testToString() { |
| assertNotNull(Collator.getInstance().toString()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.clone()' |
| */ |
| public void testClone() { |
| // tested above |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.text.Collator.equals(Object)' |
| */ |
| public void testEqualsObject() { |
| // tested above |
| } |
| } |