]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-52_1/main/tests/core/src/com/ibm/icu/dev/test/format/IntlTestDecimalFormatSymbols.java
Clean up imports.
[Dictionary.git] / jars / icu4j-52_1 / main / tests / core / src / com / ibm / icu / dev / test / format / IntlTestDecimalFormatSymbols.java
1 /*****************************************************************************************
2  *
3  *   Copyright (C) 1996-2010, International Business Machines
4  *   Corporation and others.  All Rights Reserved.
5  **/
6
7 /** 
8  * Port From:   JDK 1.4b1 : java.text.Format.IntlTestDecimalFormatSymbols
9  * Source File: java/text/format/IntlTestDecimalFormatSymbols.java
10  **/
11  
12 /*
13     @test 1.4 98/03/06
14     @summary test International Decimal Format Symbols
15 */
16
17
18 package com.ibm.icu.dev.test.format;
19
20 import java.util.Locale;
21
22 import com.ibm.icu.text.DecimalFormatSymbols;
23 import com.ibm.icu.util.Currency;
24
25 public class IntlTestDecimalFormatSymbols extends com.ibm.icu.dev.test.TestFmwk
26 {
27     public static void main(String[] args) throws Exception {
28         new IntlTestDecimalFormatSymbols().run(args);
29     }
30
31     // Test the API of DecimalFormatSymbols; primarily a simple get/set set.
32     public void TestSymbols()
33     {
34         DecimalFormatSymbols fr = new DecimalFormatSymbols(Locale.FRENCH);
35
36         DecimalFormatSymbols en = new DecimalFormatSymbols(Locale.ENGLISH);
37
38         if(en.equals(fr)) {
39             errln("ERROR: English DecimalFormatSymbols equal to French");
40         }
41
42         // just do some VERY basic tests to make sure that get/set work
43
44         char zero = en.getZeroDigit();
45         fr.setZeroDigit(zero);
46         if(fr.getZeroDigit() != en.getZeroDigit()) {
47             errln("ERROR: get/set ZeroDigit failed");
48         }
49
50         char sigDigit = en.getSignificantDigit();
51         fr.setSignificantDigit(sigDigit); 
52         if(fr.getSignificantDigit() != en.getSignificantDigit()) {
53             errln("ERROR: get/set SignificantDigit failed");
54         }
55
56         Currency currency = Currency.getInstance("USD");
57         fr.setCurrency(currency);
58         if (!fr.getCurrency().equals(currency)){
59             errln("ERROR: get/set Currency failed");
60         }
61             
62         char group = en.getGroupingSeparator();
63         fr.setGroupingSeparator(group);
64         if(fr.getGroupingSeparator() != en.getGroupingSeparator()) {
65             errln("ERROR: get/set GroupingSeparator failed");
66         }
67
68         char decimal = en.getDecimalSeparator();
69         fr.setDecimalSeparator(decimal);
70         if(fr.getDecimalSeparator() != en.getDecimalSeparator()) {
71             errln("ERROR: get/set DecimalSeparator failed");
72         }
73
74         char monetaryGroup = en.getMonetaryGroupingSeparator();
75         fr.setMonetaryGroupingSeparator(monetaryGroup);
76         if(fr.getMonetaryGroupingSeparator() != en.getMonetaryGroupingSeparator()) {
77             errln("ERROR: get/set MonetaryGroupingSeparator failed");
78         }
79
80         char monetaryDecimal = en.getMonetaryDecimalSeparator();
81         fr.setMonetaryDecimalSeparator(monetaryDecimal);
82         if(fr.getMonetaryDecimalSeparator() != en.getMonetaryDecimalSeparator()) {
83             errln("ERROR: get/set MonetaryDecimalSeparator failed");
84         }
85
86         char perMill = en.getPerMill();
87         fr.setPerMill(perMill);
88         if(fr.getPerMill() != en.getPerMill()) {
89             errln("ERROR: get/set PerMill failed");
90         }
91
92         char percent = en.getPercent();
93         fr.setPercent(percent);
94         if(fr.getPercent() != en.getPercent()) {
95             errln("ERROR: get/set Percent failed");
96         }
97
98         char digit = en.getDigit();
99         fr.setDigit(digit);
100         if(fr.getPercent() != en.getPercent()) {
101             errln("ERROR: get/set Percent failed");
102         }
103
104         char patternSeparator = en.getPatternSeparator();
105         fr.setPatternSeparator(patternSeparator);
106         if(fr.getPatternSeparator() != en.getPatternSeparator()) {
107             errln("ERROR: get/set PatternSeparator failed");
108         }
109
110         String infinity = en.getInfinity();
111         fr.setInfinity(infinity);
112         String infinity2 = fr.getInfinity();
113         if(! infinity.equals(infinity2)) {
114             errln("ERROR: get/set Infinity failed");
115         }
116
117         String nan = en.getNaN();
118         fr.setNaN(nan);
119         String nan2 = fr.getNaN();
120         if(! nan.equals(nan2)) {
121             errln("ERROR: get/set NaN failed");
122         }
123
124         char minusSign = en.getMinusSign();
125         fr.setMinusSign(minusSign);
126         if(fr.getMinusSign() != en.getMinusSign()) {
127             errln("ERROR: get/set MinusSign failed");
128         }
129
130         char plusSign = en.getPlusSign();
131         fr.setPlusSign(plusSign);
132         if(fr.getPlusSign() != en.getPlusSign()) {
133             errln("ERROR: get/set PlusSign failed");
134         }
135
136         char padEscape = en.getPadEscape();
137         fr.setPadEscape(padEscape);
138         if(fr.getPadEscape() != en.getPadEscape()) {
139             errln("ERROR: get/set PadEscape failed");
140         }
141
142         String exponential = en.getExponentSeparator();
143         fr.setExponentSeparator(exponential);
144         if(fr.getExponentSeparator() != en.getExponentSeparator()) {
145             errln("ERROR: get/set Exponential failed");
146         }
147         
148         // Test CurrencySpacing.
149         // In CLDR 1.7, only root.txt has CurrencySpacing data. This data might 
150         // be different between en and fr in the future.
151         for (int i = DecimalFormatSymbols.CURRENCY_SPC_CURRENCY_MATCH; i <= DecimalFormatSymbols.CURRENCY_SPC_INSERT; i++) {
152             if (en.getPatternForCurrencySpacing(i, true) !=
153                 fr.getPatternForCurrencySpacing(i, true)) {
154                 errln("ERROR: get currency spacing item:"+ i+" before the currency");
155                 if (en.getPatternForCurrencySpacing(i, false) !=
156                     fr.getPatternForCurrencySpacing(i, false)) {
157                     errln("ERROR: get currency spacing item:" + i + " after currency");
158                 }
159             }
160         }
161         
162         String dash = "-";
163         en.setPatternForCurrencySpacing(DecimalFormatSymbols.CURRENCY_SPC_INSERT, true, dash);
164         if (dash != en.getPatternForCurrencySpacing(DecimalFormatSymbols.CURRENCY_SPC_INSERT, true)) {
165             errln("ERROR: set currency spacing pattern for before currency.");
166         }
167
168         //DecimalFormatSymbols foo = new DecimalFormatSymbols(); //The variable is never used
169
170         en = (DecimalFormatSymbols) fr.clone();
171
172         if(! en.equals(fr)) {
173             errln("ERROR: Clone failed");
174         }
175     }
176     
177     public void testCoverage() {
178         DecimalFormatSymbols df = new DecimalFormatSymbols();
179         DecimalFormatSymbols df2 = (DecimalFormatSymbols)df.clone();
180         if (!df.equals(df2) || df.hashCode() != df2.hashCode()) {
181             errln("decimal format symbols clone, equals, or hashCode failed");            
182         }
183     }
184 }