BasicFloatObject.java revision 0
3980N/A * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. 3980N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6011N/A * This code is free software; you can redistribute it and/or modify it 6011N/A * under the terms of the GNU General Public License version 2 only, as 3980N/A * published by the Free Software Foundation. 3980N/A * This code is distributed in the hope that it will be useful, but WITHOUT 3980N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 6011N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 6011N/A * version 2 for more details (a copy is included in the LICENSE file that * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, * CA 95054 USA or visit www.sun.com if you need additional information or /* Type-specific source code for unit test * Regenerate the BasicX classes via genBasic.sh whenever this file changes. * We check in the generated source files so that the test tree can be used * independently of the rest of the source tree. // -- This file was mechanically generated: Do not edit! -- // public static void test() {
// Any characters not explicitly defined as conversions, date/time // conversion suffixes, or flags are illegal and are reserved for // future extensions. Use of such a character in a format string will // cause an UnknownFormatConversionException or // UnknownFormatFlagsException to be thrown. //--------------------------------------------------------------------- //--------------------------------------------------------------------- test(
"%4$2s %3$2s %2$2s %1$2s",
" d c b a",
"a",
"b",
"c",
"d");
test(
"Amount gained or lost since last statement: $ %,(.2f",
"Amount gained or lost since last statement: $ (6,217.58)",
testSysOut(
"Local time: %tT",
"Local time: 16:17:00", c);
test(
"Unable to open file '%1$s': %2$s",
"Unable to open file 'food': No such file or directory",
"food",
"No such file or directory");
test(
"Duke's Birthday: %1$tB %1$te, %1$tY",
"Duke's Birthday: May 23, 1995",
test(
"Duke's Birthday: %1$tB %1$te, %1$tY",
"Duke's Birthday: May 23, 1995",
test(
"Duke's Birthday: %1$tB %1$te, %1$tY",
"Duke's Birthday: May 23, 1995",
test(
"%4$s %3$s %2$s %1$s %4$s %3$s %2$s %1$s",
"d c b a d c b a",
"a",
"b",
"c",
"d");
test(
"%s %s %<s %<s",
"a b b b",
"a",
"b",
"c",
"d");
test(
"%s %s %s %s",
"a b c d",
"a",
"b",
"c",
"d");
test(
"%2$s %s %<s %s",
"b a a b",
"a",
"b",
"c",
"d");
//--------------------------------------------------------------------- // General conversion applicable to any argument. //--------------------------------------------------------------------- test(
"%b",
"true",
true);
test(
"%b",
"false",
false);
test(
"%B",
"TRUE",
true);
test(
"%B",
"FALSE",
false);
test(
"%14b",
" true",
true);
test(
"%-14b",
"true ",
true);
test(
"%5.1b",
" f",
false);
test(
"%-5.1b",
"f ",
false);
test(
"%b",
"true",
"foo");
// Boolean.java hardcodes the Strings for "true" and "false", so no // localization is possible. // If you pass in a single array to a varargs method, the compiler // uses it as the array of arguments rather than treating it as a // single array-type argument. //--------------------------------------------------------------------- //--------------------------------------------------------------------- // correct or side-effect of implementation? //--------------------------------------------------------------------- // General conversion applicable to any argument. //--------------------------------------------------------------------- test(
"%c",
"H", (
byte)
72);
test(
"%c",
"i", (
short)
105);
test(
"%c",
"!", (
int)
33);
//--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- // General conversion applicable to any argument. //--------------------------------------------------------------------- test(
"%s",
"Hello, Duke",
"Hello, Duke");
test(
"%S",
"HELLO, DUKE",
"Hello, Duke");
test(
"%20S",
" HELLO, DUKE",
"Hello, Duke");
test(
"%20s",
" Hello, Duke",
"Hello, Duke");
test(
"%-20s",
"Hello, Duke ",
"Hello, Duke");
test(
"%-20.5s",
"Hello ",
"Hello, Duke");
//--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- // General conversion applicable to any argument. //--------------------------------------------------------------------- test(
"%10h",
" ddf63471",
"Hello, Duke");
test(
"%-10h",
"ddf63471 ",
"Hello, Duke");
test(
"%-10H",
"DDF63471 ",
"Hello, Duke");
test(
"%10h",
" 402e0000",
15.0);
test(
"%10H",
" 402E0000",
15.0);
//--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- // Floating-point conversions applicable to float, double, and //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- // double PI = 3.141 592 653 589 793 238 46; test(
"%e",
"3.141593e+00",
pi);
test(
"%E",
"3.141593E+00",
pi);
test(
"%10.3e",
" 3.142e+00",
pi);
test(
"%010.3e",
"03.142e+00",
pi);
test(
"%-12.3e",
"3.142e+00 ",
pi);
test(
"%.3e",
"3.142e+00",
pi);
// = 13962455701329742638131355433930076081862072808 ... e+149 test(
"%+.3e",
"+3.142e+00",
pi);
test(
"% .3e",
" 3.142e+00",
pi);
test(
"%(.4e",
"(3.1416e+06)",
mult(
pi, -
1000000.0));
//--------------------------------------------------------------------- // %e - boundary problems //--------------------------------------------------------------------- test(
"%3.0e",
"1e-06",
0.000001);
test(
"%3.0e",
"1e-05",
0.00001);
test(
"%3.0e",
"1e-04",
0.0001);
test(
"%3.0e",
"1e-03",
0.001);
test(
"%3.0e",
"1e-02",
0.01);
test(
"%3.0e",
"1e-01",
0.1);
test(
"%3.0e",
"9e-01",
0.9);
test(
"%3.1e",
"9.0e-01",
0.9);
test(
"%3.0e",
"1e+00",
1.00);
test(
"%3.0e",
"1e+01",
10.00);
test(
"%3.0e",
"1e+02",
99.19);
test(
"%3.1e",
"9.9e+01",
99.19);
test(
"%3.0e",
"1e+02",
99.99);
test(
"%3.0e",
"1e+02",
100.00);
test(
"%#3.0e",
"1.e+03",
1000.00);
test(
"%3.0e",
"1e+04",
10000.00);
test(
"%3.0e",
"1e+05",
100000.00);
test(
"%3.0e",
"1e+06",
1000000.00);
test(
"%3.0e",
"1e+07",
10000000.00);
test(
"%3.0e",
"1e+08",
100000000.00);
//--------------------------------------------------------------------- // Floating-point conversions applicable to float, double, and //--------------------------------------------------------------------- test(
"%010.3f",
"000003.142",
pi);
test(
"%-10.3f",
"3.142 ",
pi);
//--------------------------------------------------------------------- // %f - boundary problems //--------------------------------------------------------------------- test(
"%3.0f",
" 0",
0.000001);
test(
"%3.0f",
" 0",
0.00001);
test(
"%3.0f",
" 0",
0.0001);
test(
"%3.0f",
" 0",
0.001);
test(
"%3.0f",
" 0",
0.01);
test(
"%3.0f",
" 0",
0.1);
test(
"%3.0f",
" 1",
0.9);
test(
"%3.1f",
"0.9",
0.9);
test(
"%3.0f",
" 1",
1.00);
test(
"%3.0f",
" 10",
10.00);
test(
"%3.0f",
" 99",
99.19);
test(
"%3.1f",
"99.2",
99.19);
test(
"%3.0f",
"100",
99.99);
test(
"%3.0f",
"100",
100.00);
test(
"%#3.0f",
"1000.",
1000.00);
test(
"%3.0f",
"10000",
10000.00);
test(
"%3.0f",
"100000",
100000.00);
test(
"%3.0f",
"1000000",
1000000.00);
test(
"%3.0f",
"10000000",
10000000.00);
test(
"%3.0f",
"100000000",
100000000.00);
//--------------------------------------------------------------------- // Floating-point conversions applicable to float, double, and //--------------------------------------------------------------------- test(
"%010.3g",
"0000003.14",
pi);
test(
"%.3g",
"-3.14e+08",
mult(
pi, -
100000000.0));
test(
"%3.0g",
"1e-06",
0.000001);
test(
"%3.0g",
"1e-05",
0.00001);
test(
"%3.0g",
"1e-05",
0.0000099);
test(
"%3.1g",
"1e-05",
0.0000099);
test(
"%3.2g",
"9.9e-06",
0.0000099);
test(
"%3.0g",
"0.0001",
0.0001);
test(
"%3.0g",
"9e-05",
0.00009);
test(
"%3.0g",
"0.0001",
0.000099);
test(
"%3.1g",
"0.0001",
0.000099);
test(
"%3.2g",
"9.9e-05",
0.000099);
test(
"%3.0g",
"0.001",
0.001);
test(
"%3.0g",
"0.001",
0.00099);
test(
"%3.1g",
"0.001",
0.00099);
test(
"%3.2g",
"0.00099",
0.00099);
test(
"%3.3g",
"0.00100",
0.001);
test(
"%3.4g",
"0.001000",
0.001);
test(
"%3.0g",
"0.01",
0.01);
test(
"%3.0g",
"0.1",
0.1);
test(
"%3.0g",
"0.9",
0.9);
test(
"%3.1g",
"0.9",
0.9);
test(
"%3.0g",
" 1",
1.00);
test(
"%3.2g",
" 10",
10.00);
test(
"%3.0g",
"1e+01",
10.00);
test(
"%3.0g",
"1e+02",
99.19);
test(
"%3.1g",
"1e+02",
99.19);
test(
"%3.2g",
" 99",
99.19);
test(
"%3.0g",
"1e+02",
99.9);
test(
"%3.1g",
"1e+02",
99.9);
test(
"%3.2g",
"1.0e+02",
99.9);
test(
"%3.0g",
"1e+02",
99.99);
test(
"%3.0g",
"1e+02",
100.00);
test(
"%3.0g",
"1e+03",
999.9);
test(
"%3.1g",
"1e+03",
999.9);
test(
"%3.2g",
"1.0e+03",
999.9);
test(
"%3.3g",
"1.00e+03",
999.9);
test(
"%3.4g",
"999.9",
999.9);
test(
"%3.4g",
"1000",
999.99);
test(
"%3.0g",
"1e+03",
1000.00);
test(
"%3.0g",
"1e+04",
10000.00);
test(
"%3.0g",
"1e+05",
100000.00);
test(
"%3.0g",
"1e+06",
1000000.00);
test(
"%3.0g",
"1e+07",
10000000.00);
test(
"%3.9g",
"100000000",
100000000.00);
test(
"%3.10g",
"100000000.0",
100000000.00);
// = 13962455701329742638131355433930076081862072808 ... e+149 test(
"%+10.3g",
" +3.14",
pi);
test(
"%(.4g",
"3.142e+08",
mult(
pi,
100000000.0));
test(
"%(.4g",
"(3.142e+08)",
mult(
pi, -
100000000.0));
//--------------------------------------------------------------------- // %f, %e, %g, %a - Boundaries //--------------------------------------------------------------------- //--------------------------------------------------------------------- // Date/Time conversions applicable to Calendar, Date, and long. //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- // perhaps an IllegalFormatArgumentIndexException should be defined?