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