]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_2_1-src/src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.base.tests/src/com/ibm/icu/tests/DecimalFormatTest.java
icu4jsrc
[Dictionary.git] / jars / icu4j-4_2_1-src / src / com / ibm / icu / dev / eclipse / plugins / com.ibm.icu.base.tests / src / com / ibm / icu / tests / DecimalFormatTest.java
1 /*\r
2  *******************************************************************************\r
3  * Copyright (C) 2006, International Business Machines Corporation and         *\r
4  * others. All Rights Reserved.                                                *\r
5  *******************************************************************************\r
6  */\r
7 \r
8 package com.ibm.icu.tests;\r
9 \r
10 import java.util.Locale;\r
11 \r
12 import com.ibm.icu.text.DecimalFormat;\r
13 import com.ibm.icu.text.DecimalFormatSymbols;\r
14 \r
15 public class DecimalFormatTest extends ICUTestCase {\r
16     private static final long lmax = Long.MAX_VALUE;\r
17     private static final double dsmall = 23.33;\r
18         \r
19     /*\r
20      * Test method for 'com.ibm.icu.text.DecimalFormat.clone()'\r
21      */\r
22     public void testClone() {\r
23         DecimalFormat df = new DecimalFormat("#,#0.00");\r
24         DecimalFormat df2 = new DecimalFormat("#,#0.00");\r
25         DecimalFormat dfn = new DecimalFormat("#,#0.00");\r
26         dfn.setNegativePrefix(dfn.getNegativePrefix() + '!');\r
27         testEHCS(df, df2, dfn);\r
28     }\r
29 \r
30     /*\r
31      * Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(DecimalFormat)'\r
32      */\r
33     public void testDecimalFormatDecimalFormat() {\r
34         // tested implicitly\r
35     }\r
36 \r
37     /*\r
38      * Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat()'\r
39      */\r
40     public void testDecimalFormat() {\r
41         DecimalFormat df = new DecimalFormat();\r
42         assertEquals("9,223,372,036,854,775,807", df.format(lmax));\r
43     }\r
44 \r
45     /*\r
46      * Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(String)'\r
47      */\r
48     public void testDecimalFormatString() {\r
49         DecimalFormat df = new DecimalFormat("#,##0.000");\r
50         assertEquals("23.330", df.format(dsmall));\r
51     }\r
52 \r
53     /*\r
54      * Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(String, DecimalFormatSymbols)'\r
55      */\r
56     public void testDecimalFormatStringDecimalFormatSymbols() {\r
57         DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.FRANCE);\r
58         DecimalFormat df = new DecimalFormat("#,##0.000", sym);\r
59         assertEquals("23,330", df.format(dsmall));\r
60     }\r
61 \r
62     /*\r
63      * Test method for 'com.ibm.icu.text.DecimalFormat.getDecimalFormatSymbols()'\r
64      */\r
65     public void testGetDecimalFormatSymbols() {\r
66         DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.FRANCE);\r
67         DecimalFormat df = new DecimalFormat("#,##0.000", sym);\r
68         assertEquals(sym, df.getDecimalFormatSymbols());\r
69     }\r
70 \r
71     /*\r
72      * Test method for 'com.ibm.icu.text.DecimalFormat.setDecimalFormatSymbols(DecimalFormatSymbols)'\r
73      */\r
74     public void testSetDecimalFormatSymbols() {\r
75         DecimalFormat df = new DecimalFormat();\r
76         df.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.FRANCE));\r
77         assertEquals("23,33", df.format(dsmall));\r
78     }\r
79 \r
80     /*\r
81      * Test method for 'com.ibm.icu.text.DecimalFormat.getPositivePrefix()'\r
82      */\r
83     public void testGetPositivePrefix() {\r
84         DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#");\r
85         assertEquals("+", df.getPositivePrefix());\r
86     }\r
87 \r
88     /*\r
89      * Test method for 'com.ibm.icu.text.DecimalFormat.setPositivePrefix(String)'\r
90      */\r
91     public void testSetPositivePrefix() {\r
92         DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#");\r
93         df.setPositivePrefix("?");\r
94         assertEquals("?23.3", df.format(dsmall));\r
95     }\r
96 \r
97     /*\r
98      * Test method for 'com.ibm.icu.text.DecimalFormat.getNegativePrefix()'\r
99      */\r
100     public void testGetNegativePrefix() {\r
101         DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#");\r
102         assertEquals("-", df.getNegativePrefix());\r
103     }\r
104 \r
105     /*\r
106      * Test method for 'com.ibm.icu.text.DecimalFormat.setNegativePrefix(String)'\r
107      */\r
108     public void testSetNegativePrefix() {\r
109         DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#");\r
110         df.setNegativePrefix("~");\r
111         assertEquals("~23.3", df.format(-dsmall));\r
112     }\r
113 \r
114     /*\r
115      * Test method for 'com.ibm.icu.text.DecimalFormat.getPositiveSuffix()'\r
116      */\r
117     public void testGetPositiveSuffix() {\r
118         DecimalFormat df = new DecimalFormat("+#,##0.#**;-#,##0.#~~");\r
119         assertEquals("**", df.getPositiveSuffix());\r
120     }\r
121 \r
122     /*\r
123      * Test method for 'com.ibm.icu.text.DecimalFormat.setPositiveSuffix(String)'\r
124      */\r
125     public void testSetPositiveSuffix() {\r
126         DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#");\r
127         df.setPositiveSuffix("**");\r
128         assertEquals("+23.3**", df.format(dsmall));\r
129     }\r
130 \r
131     /*\r
132      * Test method for 'com.ibm.icu.text.DecimalFormat.getNegativeSuffix()'\r
133      */\r
134     public void testGetNegativeSuffix() {\r
135         DecimalFormat df = new DecimalFormat("+#,##0.#**;-#,##0.#~~");\r
136         assertEquals("~~", df.getNegativeSuffix());\r
137     }\r
138 \r
139     /*\r
140      * Test method for 'com.ibm.icu.text.DecimalFormat.setNegativeSuffix(String)'\r
141      */\r
142     public void testSetNegativeSuffix() {\r
143         DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#");\r
144         df.setNegativeSuffix("~~");\r
145         assertEquals("-23.3~~", df.format(-dsmall));\r
146     }\r
147 \r
148     /*\r
149      * Test method for 'com.ibm.icu.text.DecimalFormat.getMultiplier()'\r
150      */\r
151     public void testGetMultiplier() {\r
152         DecimalFormat df = new DecimalFormat("%000");\r
153         df.setMultiplier(1000);\r
154         assertEquals(1000, df.getMultiplier());\r
155     }\r
156 \r
157     /*\r
158      * Test method for 'com.ibm.icu.text.DecimalFormat.setMultiplier(int)'\r
159      */\r
160     public void testSetMultiplier() {\r
161         DecimalFormat df = new DecimalFormat("%000");\r
162         assertEquals("%012", df.format(.123));\r
163         df.setMultiplier(1000);\r
164         assertEquals("%123", df.format(.123));\r
165     }\r
166 \r
167     /*\r
168      * Test method for 'com.ibm.icu.text.DecimalFormat.getGroupingSize()'\r
169      */\r
170     public void testGetGroupingSize() {\r
171         DecimalFormat df = new DecimalFormat("#,#0.#");\r
172         assertEquals(2, df.getGroupingSize());\r
173     }\r
174 \r
175     /*\r
176      * Test method for 'com.ibm.icu.text.DecimalFormat.setGroupingSize(int)'\r
177      */\r
178     public void testSetGroupingSize() {\r
179         DecimalFormat df = new DecimalFormat("#,##0.##");\r
180         assertEquals("1,234,567.89", df.format(1234567.89));\r
181         df.setGroupingSize(2);\r
182         assertEquals("1,23,45,67.89", df.format(1234567.89));\r
183     }\r
184 \r
185     /*\r
186      * Test method for 'com.ibm.icu.text.DecimalFormat.isDecimalSeparatorAlwaysShown()'\r
187      */\r
188     public void testIsDecimalSeparatorAlwaysShown() {\r
189         DecimalFormat df = new DecimalFormat("#.#");\r
190         df.setDecimalSeparatorAlwaysShown(false);\r
191         assertEquals("1", df.format(1));\r
192         assertEquals("1.2", df.format(1.2));\r
193         df.setDecimalSeparatorAlwaysShown(true);\r
194         assertEquals("1.", df.format(1));\r
195     }\r
196 \r
197     /*\r
198      * Test method for 'com.ibm.icu.text.DecimalFormat.setDecimalSeparatorAlwaysShown(boolean)'\r
199      */\r
200     public void testSetDecimalSeparatorAlwaysShown() {\r
201         DecimalFormat df = new DecimalFormat("#.#");\r
202         df.setDecimalSeparatorAlwaysShown(false);\r
203         assertFalse(df.isDecimalSeparatorAlwaysShown());\r
204         df.setDecimalSeparatorAlwaysShown(true);\r
205         assertTrue(df.isDecimalSeparatorAlwaysShown());\r
206     }\r
207 \r
208     /*\r
209      * Test method for 'com.ibm.icu.text.DecimalFormat.toPattern()'\r
210      */\r
211     public void testToPattern() {\r
212         DecimalFormat df = new DecimalFormat("#,##0.##");\r
213         assertEquals("#,##0.##", df.toPattern());\r
214     }\r
215 \r
216     /*\r
217      * Test method for 'com.ibm.icu.text.DecimalFormat.toLocalizedPattern()'\r
218      */\r
219     public void testToLocalizedPattern() {\r
220         DecimalFormat df = new DecimalFormat("#,##0.##", new DecimalFormatSymbols(Locale.FRANCE));\r
221         assertEquals("#,##0.##", df.toPattern());\r
222         assertEquals("#\u00a0##0,##", df.toLocalizedPattern());\r
223     }\r
224 \r
225     /*\r
226      * Test method for 'com.ibm.icu.text.DecimalFormat.applyPattern(String)'\r
227      */\r
228     public void testApplyPattern() {\r
229         DecimalFormat df = new DecimalFormat("#,##0.##");\r
230         df.applyPattern("#,0.#");\r
231         assertEquals("1,2,3.4", df.format(123.4));\r
232     }\r
233 \r
234     /*\r
235      * Test method for 'com.ibm.icu.text.DecimalFormat.applyLocalizedPattern(String)'\r
236      */\r
237     public void testApplyLocalizedPattern() {\r
238         DecimalFormat df = new DecimalFormat("#,##0.##", new DecimalFormatSymbols(Locale.FRANCE));\r
239         df.applyLocalizedPattern("#\u00a00,#");\r
240         assertEquals("1\u00a02\u00a03,4", df.format(123.4));\r
241     }\r
242 }\r