| /* |
| ******************************************************************************* |
| * Copyright (C) 2006, 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)); |
| } |
| } |