1   /*
2    * Copyright 2001-2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */ 
16  
17  package org.apache.commons.beanutils.converters;
18  
19  import junit.framework.TestSuite;
20  
21  import org.apache.commons.beanutils.Converter;
22  
23  
24  /**
25   * Test Case for the ByteConverter class.
26   *
27   * @author Rodney Waldhoff
28   * @version $Revision: 1.4 $ $Date: 2004/02/28 13:18:37 $
29   */
30  
31  public class ByteConverterTestCase extends NumberConverterTestBase {
32  
33      private Converter converter = null;
34  
35      // ------------------------------------------------------------------------
36  
37      public ByteConverterTestCase(String name) {
38          super(name);
39      }
40      
41      // ------------------------------------------------------------------------
42  
43      public void setUp() throws Exception {
44          converter = makeConverter();
45      }
46  
47      public static TestSuite suite() {
48          return new TestSuite(ByteConverterTestCase.class);        
49      }
50  
51      public void tearDown() throws Exception {
52          converter = null;
53      }
54  
55      // ------------------------------------------------------------------------
56      
57      protected Converter makeConverter() {
58          return new ByteConverter();
59      }
60      
61      protected Class getExpectedType() {
62          return Byte.class;
63      }
64  
65      // ------------------------------------------------------------------------
66  
67      public void testSimpleConversion() throws Exception {
68          String[] message= { 
69              "from String",
70              "from String",
71              "from String",
72              "from String",
73              "from String",
74              "from String",
75              "from String",
76              "from Byte",
77              "from Short",
78              "from Integer",
79              "from Long",
80              "from Float",
81              "from Double"
82          };
83          
84          Object[] input = { 
85              String.valueOf(Byte.MIN_VALUE),
86              "-17",
87              "-1",
88              "0",
89              "1",
90              "17",
91              String.valueOf(Byte.MAX_VALUE),
92              new Byte((byte)7),
93              new Short((short)8),
94              new Integer(9),
95              new Long(10),
96              new Float(11.1),
97              new Double(12.2)
98          };
99          
100         Byte[] expected = { 
101             new Byte(Byte.MIN_VALUE),
102             new Byte((byte)-17),
103             new Byte((byte)-1),
104             new Byte((byte)0),
105             new Byte((byte)1),
106             new Byte((byte)17),
107             new Byte(Byte.MAX_VALUE),
108             new Byte((byte)7),
109             new Byte((byte)8),
110             new Byte((byte)9),
111             new Byte((byte)10),
112             new Byte((byte)11),
113             new Byte((byte)12)
114         };
115         
116         for(int i=0;i<expected.length;i++) {
117             assertEquals(message[i] + " to Byte",expected[i],converter.convert(Byte.class,input[i]));
118             assertEquals(message[i] + " to byte",expected[i],converter.convert(Byte.TYPE,input[i]));
119             assertEquals(message[i] + " to null type",expected[i],converter.convert(null,input[i]));
120         }
121     }
122     
123 }
124