1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.beanutils2.converters;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21
22 import org.apache.commons.beanutils2.ConversionException;
23 import org.apache.commons.beanutils2.Converter;
24 import org.junit.jupiter.api.AfterEach;
25 import org.junit.jupiter.api.BeforeEach;
26 import org.junit.jupiter.api.Test;
27
28
29
30
31 public class ClassConverterTest {
32
33
34 @BeforeEach
35 public void setUp() throws Exception {
36 }
37
38
39 @AfterEach
40 public void tearDown() throws Exception {
41 }
42
43
44
45
46 @Test
47 public void testArray() {
48 final Converter<Class<?>> converter = new ClassConverter();
49
50 assertEquals("[Ljava.lang.Boolean;", converter.convert(String.class, Boolean[].class), "Array to String");
51
52
53
54 }
55
56
57
58
59 @Test
60 public void testConvertToClass() {
61 final Converter<Class<?>> converter = new ClassConverter();
62 assertEquals(Integer.class, converter.convert(Class.class, Integer.class), "Class Test");
63 assertEquals(Integer.class, converter.convert(Class.class, "java.lang.Integer"), "String Test");
64 assertEquals(Integer.class, converter.convert(Class.class, new StringBuilder("java.lang.Integer")), "StringBuilder Test");
65
66 assertThrows(ConversionException.class, () -> converter.convert(Class.class, Integer.valueOf(6)));
67
68 assertThrows(ConversionException.class, () -> converter.convert(Class.class, null));
69 }
70
71
72
73
74 @Test
75 public void testConvertToClassDefault() {
76 final Converter<Class<?>> converter = new ClassConverter(Object.class);
77 assertEquals(Object.class, converter.convert(Class.class, Integer.valueOf(6)), "Invalid Test");
78 assertEquals(Object.class, converter.convert(Class.class, null), "Null Test");
79 }
80
81
82
83
84 @Test
85 public void testConvertToClassDefaultNull() {
86 final Converter<Class<?>> converter = new ClassConverter(null);
87 assertEquals(null, converter.convert(Class.class, Integer.valueOf(6)), "Invalid Test");
88 assertEquals(null, converter.convert(Class.class, null), "Null Test");
89 }
90
91
92
93
94 @Test
95 public void testConvertToString() {
96 final Converter<Class<?>> converter = new ClassConverter();
97 assertEquals("java.lang.Integer", converter.convert(String.class, Integer.class), "Class Test");
98 assertEquals("foo", converter.convert(String.class, "foo"), "Value Test");
99 assertEquals("bar", converter.convert(String.class, new StringBuilder("bar")), "Value Test");
100 assertEquals(null, converter.convert(String.class, null), "Null Test");
101 }
102
103
104
105
106 @Test
107 public void testInvalid() {
108 final Converter<Class<?>> converter = new ClassConverter();
109
110 assertThrows(ConversionException.class, () -> converter.convert(Class.class, "foo.bar"));
111 }
112
113
114
115
116 @Test
117 public void testUnsupportedTargetType() {
118 final Converter<Class<?>> converter = new ClassConverter();
119 assertThrows(ConversionException.class, () -> converter.convert(Integer.class, getClass().getName()));
120 }
121 }