Clover Coverage Report - Commons BeanUtils 1.8.3-kuali-SNAPSHOT
Coverage timestamp: Thu Jun 9 2011 14:31:17 EDT
26   167   11   2.89
2   107   0.42   9
9     1.22  
1    
 
  FloatConverterTestCase       Line # 32 26 0% 11 1 97.3% 0.972973
 
  (18)
 
1    /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements. See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License. You may obtain a copy of the License at
8    *
9    * http://www.apache.org/licenses/LICENSE-2.0
10    *
11    * Unless required by applicable law or agreed to in writing, software
12    * distributed under the License is distributed on an "AS IS" BASIS,
13    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14    * See the License for the specific language governing permissions and
15    * limitations under the License.
16    */
17   
18    package org.apache.commons.beanutils.converters;
19   
20    import junit.framework.TestSuite;
21   
22    import org.apache.commons.beanutils.Converter;
23   
24   
25    /**
26    * Test Case for the FloatConverter class.
27    *
28    * @author Rodney Waldhoff
29    * @version $Revision: 471348 $ $Date: 2006-11-04 21:59:26 -0500 (Sat, 04 Nov 2006) $
30    */
31   
 
32    public class FloatConverterTestCase extends NumberConverterTestBase {
33   
34    private Converter converter = null;
35   
36    // ------------------------------------------------------------------------
37   
 
38  18 toggle public FloatConverterTestCase(String name) {
39  18 super(name);
40    }
41   
42    // ------------------------------------------------------------------------
43   
 
44  18 toggle public void setUp() throws Exception {
45  18 converter = makeConverter();
46  18 numbers[0] = new Float("-12");
47  18 numbers[1] = new Float("13");
48  18 numbers[2] = new Float("-22");
49  18 numbers[3] = new Float("23");
50    }
51   
 
52  1 toggle public static TestSuite suite() {
53  1 return new TestSuite(FloatConverterTestCase.class);
54    }
55   
 
56  18 toggle public void tearDown() throws Exception {
57  18 converter = null;
58    }
59   
60    // ------------------------------------------------------------------------
61   
 
62  41 toggle protected NumberConverter makeConverter() {
63  41 return new FloatConverter();
64    }
65   
 
66  2 toggle protected NumberConverter makeConverter(Object defaultValue) {
67  2 return new FloatConverter(defaultValue);
68    }
69   
 
70  48 toggle protected Class getExpectedType() {
71  48 return Float.class;
72    }
73   
74    // ------------------------------------------------------------------------
75   
 
76  1 toggle public void testSimpleConversion() throws Exception {
77  1 String[] message= {
78    "from String",
79    "from String",
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  1 Object[] input = {
94    String.valueOf(Float.MIN_VALUE),
95    "-17.2",
96    "-1.1",
97    "0.0",
98    "1.1",
99    "17.2",
100    String.valueOf(Float.MAX_VALUE),
101    new Byte((byte)7),
102    new Short((short)8),
103    new Integer(9),
104    new Long(10),
105    new Float(11.1),
106    new Double(12.2),
107    };
108   
109  1 Float[] expected = {
110    new Float(Float.MIN_VALUE),
111    new Float(-17.2),
112    new Float(-1.1),
113    new Float(0.0),
114    new Float(1.1),
115    new Float(17.2),
116    new Float(Float.MAX_VALUE),
117    new Float(7),
118    new Float(8),
119    new Float(9),
120    new Float(10),
121    new Float(11.1),
122    new Float(12.2)
123    };
124   
125  14 for(int i=0;i<expected.length;i++) {
126  13 assertEquals(
127    message[i] + " to Float",
128    expected[i].floatValue(),
129    ((Float)(converter.convert(Float.class,input[i]))).floatValue(),
130    0.00001);
131  13 assertEquals(
132    message[i] + " to float",
133    expected[i].floatValue(),
134    ((Float)(converter.convert(Float.TYPE,input[i]))).floatValue(),
135    0.00001);
136  13 assertEquals(
137    message[i] + " to null type",
138    expected[i].floatValue(),
139    ((Float)(converter.convert(null,input[i]))).floatValue(),
140    0.00001);
141    }
142    }
143   
144   
145    /**
146    * Test Invalid Amounts (too big/small)
147    */
 
148  1 toggle public void testInvalidAmount() {
149  1 Converter converter = makeConverter();
150  1 Class clazz = Float.class;
151   
152  1 Double max = new Double(Float.MAX_VALUE);
153  1 Double tooBig = new Double(Double.MAX_VALUE);
154   
155    // Maximum
156  1 assertEquals("Maximum", new Float(Float.MAX_VALUE), converter.convert(clazz, max));
157   
158    // Too Large
159  1 try {
160  1 assertEquals("Too Big", null, converter.convert(clazz, tooBig));
161  0 fail("More than maximum, expected ConversionException");
162    } catch (Exception e) {
163    // expected result
164    }
165    }
166    }
167