17935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/* 27935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ****************************************************************************************** 37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Copyright (C) 2009-2010, Google, Inc.; International Business Machines Corporation and * 47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * others. All Rights Reserved. * 57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ****************************************************************************************** 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.dev.test.util; 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.dev.test.TestFmwk; 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.LocalePriorityList; 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.ULocale; 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Test the LanguagePriorityList 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @author markdavis@google.com 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic class LocalePriorityListTest extends TestFmwk { 197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static void main(String[] args) throws Exception { 217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new LocalePriorityListTest().run(args); 227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void testLanguagePriorityList() { 257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final String expected = "af, en, fr"; 267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LocalePriorityList list = LocalePriorityList.add("af, en, fr;q=0.9").build(); 287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals(expected, list.toString()); 297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // check looseness, and that later values win 317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LocalePriorityList list2 = LocalePriorityList.add( 327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ", fr ; q = 0.9 , en;q=0.1 , af, en, de;q=0, ").build(); 337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals(expected, list2.toString()); 347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals(list, list2); 357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LocalePriorityList list3 = LocalePriorityList 377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert .add(new ULocale("af")) 387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert .add(ULocale.FRENCH, 0.9d) 397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert .add(ULocale.ENGLISH) 407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert .build(); 417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals(expected, list3.toString()); 427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals(list, list3); 437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LocalePriorityList list4 = LocalePriorityList 457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert .add(list).build(); 467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals(expected, list4.toString()); 477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals(list, list4); 487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LocalePriorityList list5 = LocalePriorityList.add("af, fr;q=0.9, en").build(true); 507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals("af, en, fr;q=0.9", list5.toString()); 517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertprivate void assertEquals(Object expected, Object string) { 547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert assertEquals("", expected, string); 557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 57