/* | |
******************************************************************************* | |
* Copyright (C) 2006-2011, International Business Machines Corporation and * | |
* others. All Rights Reserved. * | |
******************************************************************************* | |
*/ | |
package com.ibm.icu.tests; | |
import java.util.Locale; | |
import com.ibm.icu.text.DecimalFormat; | |
import com.ibm.icu.text.DecimalFormatSymbols; | |
public class DecimalFormatTest extends ICUTestCase { | |
private static final long lmax = Long.MAX_VALUE; | |
private static final double dsmall = 23.33; | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.clone()' | |
*/ | |
public void testClone() { | |
DecimalFormat df = new DecimalFormat("#,#0.00"); | |
DecimalFormat df2 = new DecimalFormat("#,#0.00"); | |
DecimalFormat dfn = new DecimalFormat("#,#0.00"); | |
dfn.setNegativePrefix(dfn.getNegativePrefix() + '!'); | |
testEHCS(df, df2, dfn); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(DecimalFormat)' | |
*/ | |
public void testDecimalFormatDecimalFormat() { | |
// tested implicitly | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat()' | |
*/ | |
public void testDecimalFormat() { | |
DecimalFormat df = new DecimalFormat(); | |
assertEquals("9,223,372,036,854,775,807", df.format(lmax)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(String)' | |
*/ | |
public void testDecimalFormatString() { | |
DecimalFormat df = new DecimalFormat("#,##0.000"); | |
assertEquals("23.330", df.format(dsmall)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(String, DecimalFormatSymbols)' | |
*/ | |
public void testDecimalFormatStringDecimalFormatSymbols() { | |
DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.FRANCE); | |
DecimalFormat df = new DecimalFormat("#,##0.000", sym); | |
assertEquals("23,330", df.format(dsmall)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.getDecimalFormatSymbols()' | |
*/ | |
public void testGetDecimalFormatSymbols() { | |
DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.FRANCE); | |
DecimalFormat df = new DecimalFormat("#,##0.000", sym); | |
assertEquals(sym, df.getDecimalFormatSymbols()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.setDecimalFormatSymbols(DecimalFormatSymbols)' | |
*/ | |
public void testSetDecimalFormatSymbols() { | |
DecimalFormat df = new DecimalFormat(); | |
df.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.FRANCE)); | |
assertEquals("23,33", df.format(dsmall)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.getPositivePrefix()' | |
*/ | |
public void testGetPositivePrefix() { | |
DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); | |
assertEquals("+", df.getPositivePrefix()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.setPositivePrefix(String)' | |
*/ | |
public void testSetPositivePrefix() { | |
DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); | |
df.setPositivePrefix("?"); | |
assertEquals("?23.3", df.format(dsmall)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.getNegativePrefix()' | |
*/ | |
public void testGetNegativePrefix() { | |
DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); | |
assertEquals("-", df.getNegativePrefix()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.setNegativePrefix(String)' | |
*/ | |
public void testSetNegativePrefix() { | |
DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); | |
df.setNegativePrefix("~"); | |
assertEquals("~23.3", df.format(-dsmall)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.getPositiveSuffix()' | |
*/ | |
public void testGetPositiveSuffix() { | |
DecimalFormat df = new DecimalFormat("+#,##0.#**;-#,##0.#~~"); | |
assertEquals("**", df.getPositiveSuffix()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.setPositiveSuffix(String)' | |
*/ | |
public void testSetPositiveSuffix() { | |
DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); | |
df.setPositiveSuffix("**"); | |
assertEquals("+23.3**", df.format(dsmall)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.getNegativeSuffix()' | |
*/ | |
public void testGetNegativeSuffix() { | |
DecimalFormat df = new DecimalFormat("+#,##0.#**;-#,##0.#~~"); | |
assertEquals("~~", df.getNegativeSuffix()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.setNegativeSuffix(String)' | |
*/ | |
public void testSetNegativeSuffix() { | |
DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); | |
df.setNegativeSuffix("~~"); | |
assertEquals("-23.3~~", df.format(-dsmall)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.getMultiplier()' | |
*/ | |
public void testGetMultiplier() { | |
DecimalFormat df = new DecimalFormat("%000"); | |
df.setMultiplier(1000); | |
assertEquals(1000, df.getMultiplier()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.setMultiplier(int)' | |
*/ | |
public void testSetMultiplier() { | |
DecimalFormat df = new DecimalFormat("%000"); | |
assertEquals("%012", df.format(.123)); | |
df.setMultiplier(1000); | |
assertEquals("%123", df.format(.123)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.getGroupingSize()' | |
*/ | |
public void testGetGroupingSize() { | |
DecimalFormat df = new DecimalFormat("#,#0.#"); | |
assertEquals(2, df.getGroupingSize()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.setGroupingSize(int)' | |
*/ | |
public void testSetGroupingSize() { | |
DecimalFormat df = new DecimalFormat("#,##0.##"); | |
assertEquals("1,234,567.89", df.format(1234567.89)); | |
df.setGroupingSize(2); | |
assertEquals("1,23,45,67.89", df.format(1234567.89)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.isDecimalSeparatorAlwaysShown()' | |
*/ | |
public void testIsDecimalSeparatorAlwaysShown() { | |
DecimalFormat df = new DecimalFormat("#.#"); | |
df.setDecimalSeparatorAlwaysShown(false); | |
assertEquals("1", df.format(1)); | |
assertEquals("1.2", df.format(1.2)); | |
df.setDecimalSeparatorAlwaysShown(true); | |
assertEquals("1.", df.format(1)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.setDecimalSeparatorAlwaysShown(boolean)' | |
*/ | |
public void testSetDecimalSeparatorAlwaysShown() { | |
DecimalFormat df = new DecimalFormat("#.#"); | |
df.setDecimalSeparatorAlwaysShown(false); | |
assertFalse(df.isDecimalSeparatorAlwaysShown()); | |
df.setDecimalSeparatorAlwaysShown(true); | |
assertTrue(df.isDecimalSeparatorAlwaysShown()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.toPattern()' | |
*/ | |
public void testToPattern() { | |
DecimalFormat df = new DecimalFormat("#,##0.##"); | |
assertEquals("#,##0.##", df.toPattern()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.toLocalizedPattern()' | |
*/ | |
public void testToLocalizedPattern() { | |
DecimalFormat df = new DecimalFormat("#,##0.##", new DecimalFormatSymbols(Locale.FRANCE)); | |
assertEquals("#,##0.##", df.toPattern()); | |
assertEquals("#\u00a0##0,##", df.toLocalizedPattern()); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.applyPattern(String)' | |
*/ | |
public void testApplyPattern() { | |
DecimalFormat df = new DecimalFormat("#,##0.##"); | |
df.applyPattern("#,0.#"); | |
assertEquals("1,2,3.4", df.format(123.4)); | |
} | |
/* | |
* Test method for 'com.ibm.icu.text.DecimalFormat.applyLocalizedPattern(String)' | |
*/ | |
public void testApplyLocalizedPattern() { | |
DecimalFormat df = new DecimalFormat("#,##0.##", new DecimalFormatSymbols(Locale.FRANCE)); | |
df.applyLocalizedPattern("#\u00a00,#"); | |
assertEquals("1\u00a02\u00a03,4", df.format(123.4)); | |
} | |
} |