1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.beanutils2.converters;
19
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21 import static org.junit.jupiter.api.Assertions.assertThrows;
22
23 import java.net.URI;
24
25 import org.apache.commons.beanutils2.ConversionException;
26 import org.apache.commons.beanutils2.Converter;
27 import org.junit.jupiter.api.AfterEach;
28 import org.junit.jupiter.api.BeforeEach;
29 import org.junit.jupiter.api.Test;
30
31
32
33
34 public class URIConverterTest {
35
36 private Converter<URI> converter;
37
38 protected Class<?> getExpectedType() {
39 return URI.class;
40 }
41
42 protected Converter<URI> makeConverter() {
43 return new URIConverter();
44 }
45
46 @BeforeEach
47 public void setUp() throws Exception {
48 converter = makeConverter();
49 }
50
51 @AfterEach
52 public void tearDown() throws Exception {
53 converter = null;
54 }
55
56 @Test
57 public void testSimpleConversion() throws Exception {
58 final String[] message = { "from String", "from String", "from String", "from String", "from String", "from String", "from String", "from String", };
59
60 final Object[] input = { "http://www.apache.org", "http://www.apache.org/", "ftp://cvs.apache.org", "file://project.xml", "http://208.185.179.12",
61 "http://www.apache.org:9999/test/thing", "http://user:admin@www.apache.org:50/one/two.three", "http://notreal.apache.org", };
62
63 final URI[] expected = { new URI("http://www.apache.org"), new URI("http://www.apache.org/"), new URI("ftp://cvs.apache.org"),
64 new URI("file://project.xml"), new URI("http://208.185.179.12"), new URI("http://www.apache.org:9999/test/thing"),
65 new URI("http://user:admin@www.apache.org:50/one/two.three"), new URI("http://notreal.apache.org") };
66
67 for (int i = 0; i < expected.length; i++) {
68 assertEquals(expected[i], converter.convert(URI.class, input[i]), message[i] + " to URI");
69 assertEquals(expected[i], converter.convert(null, input[i]), message[i] + " to null type");
70 }
71
72 for (int i = 0; i < expected.length; i++) {
73 assertEquals(input[i], converter.convert(String.class, expected[i]), input[i] + " to String");
74 }
75 }
76
77
78
79
80 @Test
81 public void testUnsupportedType() {
82 assertThrows(ConversionException.class, () -> converter.convert(Integer.class, "http://www.apache.org"));
83 }
84 }