1 package com.ibm.icu.dev.test; 2 3 import com.ibm.icu.text.ListFormat; 4 import com.ibm.icu.util.ULocale; 5 6 public class ListFormatTest extends TestFmwk { main(String[] args)7 public static void main(String[] args) { 8 new ListFormatTest().run(args); 9 } 10 11 String[] HardcodedTestData = { 12 "", 13 "A", 14 "A and B", 15 "A; B, and C", 16 "A; B, C, and D", 17 "A; B, C, D, and E" 18 }; 19 TestBasic()20 public void TestBasic() { 21 ListFormat formatter = new ListFormat("{0} and {1}", "{0}; {1}", "{0}, {1}", "{0}, and {1}"); 22 checkData(formatter, HardcodedTestData); 23 } 24 25 String[] EnglishTestData = { 26 "", 27 "A", 28 "A and B", 29 "A, B, and C", 30 "A, B, C, and D", 31 "A, B, C, D, and E" 32 }; 33 TestEnglish()34 public void TestEnglish() { 35 checkData(ListFormat.getInstance(ULocale.ENGLISH), EnglishTestData); 36 checkData(ListFormat.getInstance(ULocale.US), EnglishTestData); 37 } 38 39 String[] JapaneseTestData = { 40 "", 41 "A", 42 "A、B", 43 "A、B、C", 44 "A、B、C、D", 45 "A、B、C、D、E" 46 }; 47 TestJapanese()48 public void TestJapanese() { 49 checkData(ListFormat.getInstance(ULocale.JAPANESE), JapaneseTestData); 50 } 51 52 String[] RootTestData = { 53 "", 54 "A", 55 "A, B", 56 "A, B, C", 57 "A, B, C, D", 58 "A, B, C, D, E" 59 }; 60 TestSpecial()61 public void TestSpecial() { 62 checkData(ListFormat.getInstance(ULocale.ROOT), RootTestData); 63 checkData(ListFormat.getInstance(new ULocale("xxx")), RootTestData); 64 } 65 checkData(ListFormat listFormat, String[] strings)66 public void checkData(ListFormat listFormat, String[] strings) { 67 assertEquals("0", strings[0], listFormat.format()); 68 assertEquals("1", strings[1], listFormat.format("A")); 69 assertEquals("2", strings[2], listFormat.format("A", "B")); 70 assertEquals("3", strings[3], listFormat.format("A", "B", "C")); 71 assertEquals("4", strings[4], listFormat.format("A", "B", "C", "D")); 72 assertEquals("5", strings[5], listFormat.format("A", "B", "C", "D", "E")); 73 } 74 } 75