1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.beanutils.converters;
18
19 import junit.framework.TestCase;
20 import junit.framework.TestSuite;
21
22 import org.apache.commons.beanutils.ConversionException;
23 import org.apache.commons.beanutils.Converter;
24
25
26
27
28
29
30 public class ClassConverterTestCase extends TestCase {
31
32
33
34
35
36 public ClassConverterTestCase(final String name) {
37 super(name);
38 }
39
40
41
42
43
44
45
46 public static TestSuite suite() {
47 return new TestSuite(ClassConverterTestCase.class);
48 }
49
50
51 @Override
52 public void setUp() throws Exception {
53 }
54
55
56 @Override
57 public void tearDown() throws Exception {
58 }
59
60
61
62
63
64
65
66 public void testConvertToString() {
67 final Converter converter = new ClassConverter();
68
69 assertEquals("Class Test", "java.lang.Integer", converter.convert(String.class, Integer.class));
70 assertEquals("Value Test", "foo", converter.convert(String.class, "foo"));
71 assertEquals("Value Test", "bar", converter.convert(String.class, new StringBuilder("bar")));
72 assertEquals("Null Test", null, converter.convert(String.class, null));
73 }
74
75
76
77
78 public void testConvertToClass() {
79 final Converter converter = new ClassConverter();
80
81 assertEquals("Class Test", Integer.class, converter.convert(Class.class, Integer.class));
82 assertEquals("String Test", Integer.class, converter.convert(Class.class, "java.lang.Integer"));
83 assertEquals("StringBuilder Test", Integer.class, converter.convert(Class.class, new StringBuilder("java.lang.Integer")));
84
85
86 try {
87 converter.convert(Class.class, new Integer(6));
88 fail("Expected invalid value to fail");
89 } catch (final ConversionException e) {
90
91 }
92
93
94 try {
95 converter.convert(Class.class, null);
96 fail("Expected null value to fail");
97 } catch (final ConversionException e) {
98
99 }
100 }
101
102
103
104
105 public void testConvertToClassDefault() {
106
107 final Converter converter = new ClassConverter(Object.class);
108
109 assertEquals("Invalid Test", Object.class, converter.convert(Class.class, new Integer(6)));
110 assertEquals("Null Test", Object.class, converter.convert(Class.class, null));
111 }
112
113
114
115
116 public void testConvertToClassDefaultNull() {
117
118 final Converter converter = new ClassConverter(null);
119
120 assertEquals("Invalid Test", null, converter.convert(Class.class, new Integer(6)));
121 assertEquals("Null Test", null, converter.convert(Class.class, null));
122 }
123
124
125
126
127 public void testArray() {
128 final Converter converter = new ClassConverter();
129
130
131 assertEquals("Array to String", "[Ljava.lang.Boolean;", converter.convert(String.class, Boolean[].class));
132
133
134
135
136 }
137
138
139
140
141 public void testInvalid() {
142 final Converter converter = new ClassConverter();
143
144
145 try {
146 converter.convert(Class.class, "foo.bar");
147 fail("Invalid class name, expected ConversionException");
148 } catch (final ConversionException e) {
149
150 }
151 }
152
153
154
155
156 public void testUnsupportedTargetType() {
157 final Converter converter = new ClassConverter();
158 try {
159 converter.convert(Integer.class, getClass().getName());
160 fail("Invalid target class not detected!");
161 } catch (final ConversionException cex) {
162
163 }
164 }
165 }