1 package org.apache.fulcrum.factory;
2
3 import static org.junit.jupiter.api.Assertions.assertEquals;
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import static org.junit.jupiter.api.Assertions.assertTrue;
27
28 import java.util.ArrayList;
29
30 import org.apache.fulcrum.testcontainer.BaseUnit5Test;
31 import org.junit.jupiter.api.BeforeEach;
32 import org.junit.jupiter.api.Test;
33
34
35
36
37
38
39
40
41
42 public class FactoryServiceTest extends BaseUnit5Test
43 {
44
45 private FactoryService factoryService = null;
46
47 @BeforeEach
48 public void setUp() throws Exception
49 {
50 setConfigurationFileName("src/test/TestComponentConfig.xml");
51 setRoleFileName("src/test/TestRoleConfig.xml");
52 factoryService = (FactoryService) this.lookup(FactoryService.class.getName());
53 }
54
55
56
57
58
59 @Test
60 public void testGetInstanceString() throws Exception
61 {
62 Object object = factoryService.getInstance("java.lang.StringBuilder");
63 assertTrue(object instanceof StringBuilder);
64 }
65
66
67
68
69
70
71 @Test
72 public void testGetInstanceStringClassLoader() throws Exception
73 {
74 Object object = factoryService.getInstance("java.lang.StringBuilder", StringBuilder.class.getClassLoader());
75 assertTrue(object instanceof StringBuilder);
76 }
77
78
79
80
81
82 @Test
83 public void testGetInstanceStringObjectArrayStringArray() throws Exception
84 {
85 String sourceValue = "testing";
86 Object params[] = new Object[] { sourceValue };
87 String signature[] = new String[] { "java.lang.String" };
88
89 Object object = factoryService.getInstance("java.lang.StringBuilder", params, signature);
90 assertTrue(object instanceof StringBuilder);
91 assertEquals(sourceValue, object.toString());
92 }
93
94
95
96
97
98
99 @Test
100 public void testGetInstanceStringClassLoaderObjectArrayStringArray() throws Exception
101 {
102 String sourceValue = "testing";
103 Object params[] = new Object[] { sourceValue };
104 String signature[] = new String[] { "java.lang.String" };
105
106 Object object =
107 factoryService.getInstance(
108 "java.lang.StringBuilder",
109 StringBuilder.class.getClassLoader(),
110 params,
111 signature);
112 assertTrue(object instanceof StringBuilder);
113 assertEquals(sourceValue, object.toString());
114
115 }
116
117
118
119
120
121
122 @Test
123 public void testIsLoaderSupported() throws Exception
124 {
125
126 assertTrue(factoryService.isLoaderSupported("java.lang.String"));
127 }
128
129
130
131
132
133
134
135 @Test
136 public void testGetSignature() throws Exception
137 {
138 String sourceValue = "testing";
139 Object params[] = new Object[] { sourceValue };
140 String signature[] = new String[] { "java.lang.String" };
141
142 Class<?>[] results = factoryService.getSignature(StringBuilder.class, params, signature);
143 assertEquals(1, results.length);
144 assertTrue(results[0].equals(String.class));
145
146 Integer sourceValueInteger = new Integer(10);
147 params[0] = sourceValueInteger;
148 signature[0] = "java.lang.Integer";
149 results = factoryService.getSignature(ArrayList.class, params, signature);
150 assertEquals(1, results.length);
151 assertTrue(results[0].equals(Integer.class));
152 }
153 }