KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > retrotranslator > runtime > format > DecimalIntegralConversionTestCase


1 /***
2  * Retrotranslator: a Java bytecode transformer that translates Java classes
3  * compiled with JDK 5.0 into classes that can be run on JVM 1.4.
4  *
5  * Copyright (c) 2005 - 2007 Taras Puchko
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in the
15  * documentation and/or other materials provided with the distribution.
16  * 3. Neither the name of the copyright holders nor the names of its
17  * contributors may be used to endorse or promote products derived from
18  * this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30  * THE POSSIBILITY OF SUCH DAMAGE.
31  */

32 package net.sf.retrotranslator.runtime.format;
33
34 import java.math.BigInteger JavaDoc;
35 import java.util.*;
36 import net.sf.retrotranslator.tests.BaseTestCase;
37
38 /**
39  * @author Taras Puchko
40  */

41 public class DecimalIntegralConversionTestCase extends BaseTestCase {
42
43     public void testFormat() throws Exception JavaDoc {
44         assertFormat("5", "%d", 5);
45         assertFormat("-5", "%d", -5);
46         assertFormat(" 5", "%4d", 5);
47         assertFormat(" -5", "%4d", -5);
48         assertFormat("5 ", "%-4d", 5);
49         assertFormat("-5 ", "%-4d", -5);
50         assertFormat(" +5", "%+4d", 5);
51         assertFormat(" -5", "%+4d", -5);
52         assertFormat(" 5", "% 4d", 5);
53         assertFormat(" -5", "% 4d", -5);
54         assertFormat(" 5", "%(4d", 5);
55         assertFormat(" (5)", "%(4d", -5);
56         assertFormat("0005", "%04d", 5);
57         assertFormat("-005", "%04d", -5);
58         assertFormat("-005", "%04d", BigInteger.valueOf(-5));
59
60         assertFormat("1234567890", "%d", 1234567890);
61         assertFormat("1 234 567 890", "%,d", 1234567890);
62
63         assertFormat(HINDI, "\u0967,\u0968\u0969\u096a,\u096b\u096c\u096d,\u096e\u096f\u0966", "%,d", 1234567890);
64
65         assertFormat("1 234", "%,d", BigInteger.valueOf(1234));
66         assertFormat(" null", "%5d", (Object JavaDoc) null);
67         assertFormat("(5) ", "%-(4d", -5);
68         assertFormat("-128", "%d", Byte.MIN_VALUE);
69         assertFormat("-32768", "%d", Short.MIN_VALUE);
70         assertFormat("-2147483648", "%d", Integer.MIN_VALUE);
71         assertFormat("-9223372036854775808", "%d", Long.MIN_VALUE);
72         assertFormat("-1134474760533137424384", "%d",
73                 BigInteger.valueOf(Long.MIN_VALUE).multiply(BigInteger.valueOf(123)));
74         assertFormat("10", "%d", BigInteger.valueOf(10));
75
76         assertFormatException(IllegalFormatPrecisionException.class, "%4.1d", 5);
77         assertFormatException(FormatFlagsConversionMismatchException.class, "%#4d", 5);
78         assertFormatException(UnknownFormatConversionException.class, "%D", 5);
79         assertFormatException(IllegalFormatFlagsException.class, "%+ d", 5);
80         assertFormatException(MissingFormatWidthException.class, "%-0d", 5);
81         assertFormatException(IllegalFormatFlagsException.class, "%-05d", 5);
82     }
83
84 }
Popular Tags