12d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// © 2016 and later: Unicode, Inc. and others. 22d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/***************************************************************************************** 47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Copyright (C) 1996-2009, International Business Machines 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Corporation and others. All Rights Reserved. 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert **/ 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Port From: JDK 1.4b1 : java.text.Format.IntlTestNumberFormatAPI 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Source File: java/text/format/IntlTestNumberFormatAPI.java 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert **/ 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/* 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert @test 1.4 98/03/06 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert @summary test International Number Format API 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*/ 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.dev.test.format; 197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.math.BigInteger; 217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.text.FieldPosition; 227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.text.ParseException; 237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.text.ParsePosition; 247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.util.Locale; 257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 262d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubertimport org.junit.Test; 272d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.text.NumberFormat; 297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.ULocale; 307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic class IntlTestNumberFormatAPI extends com.ibm.icu.dev.test.TestFmwk 327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert{ 337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // This test checks various generic API methods in DecimalFormat to achieve 100% API coverage. 342d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert @Test 357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void TestAPI() 367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("NumberFormat API test---"); logln(""); 387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert Locale.setDefault(Locale.ENGLISH); 397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // ======= Test constructors 417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Testing NumberFormat constructors"); 437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NumberFormat def = NumberFormat.getInstance(); 457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NumberFormat fr = NumberFormat.getInstance(Locale.FRENCH); 477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NumberFormat cur = NumberFormat.getCurrencyInstance(); 497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NumberFormat cur_fr = NumberFormat.getCurrencyInstance(Locale.FRENCH); 517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NumberFormat per = NumberFormat.getPercentInstance(); 537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NumberFormat per_fr = NumberFormat.getPercentInstance(Locale.FRENCH); 557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NumberFormat integer = NumberFormat.getIntegerInstance(); 577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NumberFormat int_fr = NumberFormat.getIntegerInstance(Locale.FRENCH); 597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert //Fix "The variable is never used" compilation warnings 617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Currency : " + cur.format(1234.5)); 627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Percent : " + per.format(1234.5)); 637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Integer : " + integer.format(1234.5)); 647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Int_fr : " + int_fr.format(1234.5)); 657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // ======= Test equality 677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Testing equality operator"); 697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if( per_fr.equals(cur_fr) ) { 717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: == failed"); 727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // ======= Test various format() methods 757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Testing various format() methods"); 777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// final double d = -10456.0037; // this appears as -10456.003700000001 on NT 797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// final double d = -1.04560037e-4; // this appears as -1.0456003700000002E-4 on NT 807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final double d = -10456.00370000000000; // this works! 817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final long l = 100000000; 827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String res1 = new String(); 847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String res2 = new String(); 857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert StringBuffer res3 = new StringBuffer(); 867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert StringBuffer res4 = new StringBuffer(); 877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert StringBuffer res5 = new StringBuffer(); 887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert StringBuffer res6 = new StringBuffer(); 897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert FieldPosition pos1 = new FieldPosition(0); 907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert FieldPosition pos2 = new FieldPosition(0); 917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert FieldPosition pos3 = new FieldPosition(0); 927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert FieldPosition pos4 = new FieldPosition(0); 937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert res1 = cur_fr.format(d); 957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln( "" + d + " formatted to " + res1); 967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert res2 = cur_fr.format(l); 987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("" + l + " formatted to " + res2); 997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert res3 = cur_fr.format(d, res3, pos1); 1017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln( "" + d + " formatted to " + res3); 1027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert res4 = cur_fr.format(l, res4, pos2); 1047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("" + l + " formatted to " + res4); 1057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert res5 = cur_fr.format(d, res5, pos3); 1077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("" + d + " formatted to " + res5); 1087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert res6 = cur_fr.format(l, res6, pos4); 1107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("" + l + " formatted to " + res6); 1117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // ======= Test parse() 1147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Testing parse()"); 1167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// String text = new String("-10,456.0037"); 1187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String text = new String("-10456,0037"); 1197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ParsePosition pos = new ParsePosition(0); 1207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ParsePosition pos01 = new ParsePosition(0); 1217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert double d1 = ((Number)fr.parseObject(text, pos)).doubleValue(); 1227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(d1 != d) { 1237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: Roundtrip failed (via parse()) for " + text); 1247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln(text + " parsed into " + d1); 1267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert double d2 = fr.parse(text, pos01).doubleValue(); 1287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(d2 != d) { 1297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: Roundtrip failed (via parse()) for " + text); 1307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln(text + " parsed into " + d2); 1327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert double d3 = 0; 1347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert try { 1357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert d3 = fr.parse(text).doubleValue(); 1367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert catch (ParseException e) { 1387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: parse() failed"); 1397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(d3 != d) { 1417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: Roundtrip failed (via parse()) for " + text); 1427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln(text + " parsed into " + d3); 1447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // ======= Test getters and setters 1477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Testing getters and setters"); 1497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert final Locale[] locales = NumberFormat.getAvailableLocales(); 1517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert long count = locales.length; 1527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln("Got " + count + " locales" ); 1537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert for(int i = 0; i < count; i++) { 1547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String name; 1557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert name = locales[i].getDisplayName(); 1567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert logln(name); 1577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setParseIntegerOnly( def.isParseIntegerOnly() ); 1607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(fr.isParseIntegerOnly() != def.isParseIntegerOnly() ) { 1617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setParseIntegerOnly() failed"); 1627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setGroupingUsed( def.isGroupingUsed() ); 1657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(fr.isGroupingUsed() != def.isGroupingUsed() ) { 1667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setGroupingUsed() failed"); 1677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMaximumIntegerDigits( def.getMaximumIntegerDigits() ); 1707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(fr.getMaximumIntegerDigits() != def.getMaximumIntegerDigits() ) { 1717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMaximumIntegerDigits() failed"); 1727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMinimumIntegerDigits( def.getMinimumIntegerDigits() ); 1757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(fr.getMinimumIntegerDigits() != def.getMinimumIntegerDigits() ) { 1767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMinimumIntegerDigits() failed"); 1777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMaximumFractionDigits( def.getMaximumFractionDigits() ); 1807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(fr.getMaximumFractionDigits() != def.getMaximumFractionDigits() ) { 1817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMaximumFractionDigits() failed"); 1827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert fr.setMinimumFractionDigits( def.getMinimumFractionDigits() ); 1857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(fr.getMinimumFractionDigits() != def.getMinimumFractionDigits() ) { 1867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("ERROR: setMinimumFractionDigits() failed"); 1877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // ======= Test getStaticClassID() 1907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// logln("Testing instanceof()"); 1927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// try { 1947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// NumberFormat test = new DecimalFormat(); 1957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// if (! (test instanceof DecimalFormat)) { 1977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// errln("ERROR: instanceof failed"); 1987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// } 1997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// } 2007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// catch (Exception e) { 2017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// errln("ERROR: Couldn't create a DecimalFormat"); 2027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert// } 2037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 2057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Jitterbug 4451, for coverage 2062d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert @Test 2077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void TestCoverage(){ 2087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert class StubNumberFormat extends NumberFormat{ 2097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * For serialization 2117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final long serialVersionUID = 3768385020503005993L; 2137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public void run(){ 2147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String p = NumberFormat.getPattern(ULocale.getDefault().toLocale(),0); 2157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (!p.equals(NumberFormat.getPattern(ULocale.getDefault(),0))){ 2167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert errln("NumberFormat.getPattern(Locale, int) should delegate to (ULocale,)"); 2177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {return null;} 2207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos) {return null;} 2217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public StringBuffer format(BigInteger number, StringBuffer toAppendTo, FieldPosition pos) {return null;} 2227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public StringBuffer format(java.math.BigDecimal number, StringBuffer toAppendTo, FieldPosition pos) {return null;} 2237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public StringBuffer format(com.ibm.icu.math.BigDecimal number, StringBuffer toAppendTo, FieldPosition pos) {return null;} 2247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public Number parse(String text, ParsePosition parsePosition) {return null;} 2257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert new StubNumberFormat().run(); 2277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 2287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 229