1 package org.unicode.cldr.draft.keyboard.test; 2 3 import org.unicode.cldr.draft.keyboard.KeyboardId; 4 5 import com.google.common.collect.ImmutableList; 6 import com.ibm.icu.dev.test.TestFmwk; 7 import com.ibm.icu.util.ULocale; 8 9 /** 10 * Unit tests for {@link KeyboardId}. 11 */ 12 public class KeyboardIdTest extends TestFmwk { 13 14 public void testKeyboardId() { 15 KeyboardId id = KeyboardId.fromString("de-CH-t-k0-windows-extended-var"); 16 assertEquals("", ULocale.forLanguageTag("de-CH"), id.locale()); 17 assertEquals("", KeyboardId.Platform.WINDOWS, id.platform()); 18 ImmutableList<String> attributes = ImmutableList.of("extended", "var"); 19 assertEquals("", attributes, id.attributes()); 20 } 21 22 public void testFromStringForSimple() { 23 KeyboardId keyboardLocale = KeyboardId.fromString("bn-t-k0-windows"); 24 assertEquals("", "bn-t-k0-windows", keyboardLocale.toString()); 25 } 26 27 public void testFromStringForComplex() { 28 KeyboardId keyboardLocale = KeyboardId.fromString("es-US-t-k0-android-768dpi.xml"); 29 assertEquals("", "es-US-t-k0-android-768dpi.xml", keyboardLocale.toString()); 30 } 31 32 public void testFromStringForInvalid() { 33 try { 34 KeyboardId.fromString("en-US-android"); 35 fail(); 36 } catch (IllegalArgumentException e) { 37 // Expected behavior. 38 } 39 } 40 41 public void testEqualsTrue() { 42 KeyboardId id1 = KeyboardId.fromString("de-CH-t-k0-windows-extended-var"); 43 KeyboardId id2 = KeyboardId.fromString("de-CH-t-k0-windows-extended-var"); 44 assertTrue("", id1.equals(id2)); 45 assertTrue("", id1.hashCode() == id2.hashCode()); 46 } 47 48 public void testEqualsFalse() { 49 KeyboardId id1 = KeyboardId.fromString("de-CH-t-k0-windows-extended-var"); 50 KeyboardId id2 = KeyboardId.fromString("es-US-t-k0-android-768dpi.xml"); 51 assertFalse("", id1.equals(id2)); 52 } 53 } 54