1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.beanutils.converters;
19
20 import java.math.BigDecimal;
21
22 import junit.framework.TestSuite;
23
24 import org.apache.commons.beanutils.Converter;
25
26
27 /***
28 * Test Case for the DoubleConverter class.
29 *
30 * @author Rodney Waldhoff
31 * @version $Revision: 471348 $ $Date: 2006-11-05 02:59:26 +0000 (Sun, 05 Nov 2006) $
32 */
33
34 public class BigDecimalConverterTestCase extends NumberConverterTestBase {
35
36 private Converter converter = null;
37
38
39
40 public BigDecimalConverterTestCase(String name) {
41 super(name);
42 }
43
44
45
46 public void setUp() throws Exception {
47 converter = makeConverter();
48 numbers[0] = new BigDecimal("-12");
49 numbers[1] = new BigDecimal("13");
50 numbers[2] = new BigDecimal("-22");
51 numbers[3] = new BigDecimal("23");
52 }
53
54 public static TestSuite suite() {
55 return new TestSuite(BigDecimalConverterTestCase.class);
56 }
57
58 public void tearDown() throws Exception {
59 converter = null;
60 }
61
62
63
64 protected NumberConverter makeConverter() {
65 return new BigDecimalConverter();
66 }
67
68 protected NumberConverter makeConverter(Object defaultValue) {
69 return new BigDecimalConverter(defaultValue);
70 }
71
72 protected Class getExpectedType() {
73 return BigDecimal.class;
74 }
75
76
77
78 public void testSimpleConversion() throws Exception {
79 String[] message= {
80 "from String",
81 "from String",
82 "from String",
83 "from String",
84 "from String",
85 "from Byte",
86 "from Short",
87 "from Integer",
88 "from Long",
89 "from Float",
90 "from Double"
91 };
92
93 Object[] input = {
94 "-17.2",
95 "-1.1",
96 "0.0",
97 "1.1",
98 "17.2",
99 new Byte((byte)7),
100 new Short((short)8),
101 new Integer(9),
102 new Long(10),
103 new Float("11.1"),
104 new Double("12.2")
105 };
106
107 BigDecimal[] expected = {
108 new BigDecimal("-17.2"),
109 new BigDecimal("-1.1"),
110 new BigDecimal("0.0"),
111 new BigDecimal("1.1"),
112 new BigDecimal("17.2"),
113 new BigDecimal("7"),
114 new BigDecimal("8"),
115 new BigDecimal("9"),
116 new BigDecimal("10"),
117 new BigDecimal("11.1"),
118 new BigDecimal("12.2")
119 };
120
121 for(int i=0;i<expected.length;i++) {
122 assertEquals(
123 message[i] + " to BigDecimal",
124 expected[i],
125 converter.convert(BigDecimal.class,input[i]));
126 assertEquals(
127 message[i] + " to null type",
128 expected[i],
129 converter.convert(null,input[i]));
130 }
131 }
132
133 }
134