1 package org.apache.torque.generator.qname;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertNull;
24
25 import org.apache.torque.generator.qname.QualifiedName;
26 import org.apache.torque.generator.qname.QualifiedNameMap;
27 import org.junit.Test;
28
29 public class QualifiedNameMapTest
30 {
31 private static final QualifiedName qualifiedNameChild
32 = new QualifiedName("org.apache.torque.generator.name");
33 private static final QualifiedName qualifiedName
34 = new QualifiedName("org.apache.torque.name");
35 private static final QualifiedName qualifiedNameParent
36 = new QualifiedName("org.apache.name");
37 private static final QualifiedName qualifiedNameAncestor
38 = new QualifiedName("org.name");
39 private static final QualifiedName qualifiedNameDefault
40 = new QualifiedName("name");
41 private static final QualifiedName qualifiedNameUnrelated
42 = new QualifiedName("org.apa.name");
43 private static final QualifiedName qualifiedNameOtherName
44 = new QualifiedName("org.apache.torque.otherName");
45
46 @Test
47 public void testGetKeyInHierarchyByQualifiedName()
48 {
49 QualifiedNameMap<String> qualifiedNameMap
50 = new QualifiedNameMap<String>();
51
52 QualifiedName result
53 = qualifiedNameMap.getKeyInHierarchy(qualifiedName);
54 assertNull(result);
55
56 qualifiedNameMap.put(qualifiedNameUnrelated, "org.apa");
57 result = qualifiedNameMap.getKeyInHierarchy(qualifiedName);
58 assertNull(result);
59
60 qualifiedNameMap.put(qualifiedNameChild, "org.apache.torque.generator");
61 result = qualifiedNameMap.getKeyInHierarchy(qualifiedName);
62 assertNull(result);
63
64 qualifiedNameMap.put(qualifiedNameDefault, "default");
65 result = qualifiedNameMap.getKeyInHierarchy(qualifiedName);
66 assertEquals(result, qualifiedNameDefault);
67
68 qualifiedNameMap.put(qualifiedNameAncestor, "org");
69 result = qualifiedNameMap.getKeyInHierarchy(qualifiedName);
70 assertEquals(result, qualifiedNameAncestor);
71
72 qualifiedNameMap.put(qualifiedNameParent, "org.apache");
73 result = qualifiedNameMap.getKeyInHierarchy(qualifiedName);
74 assertEquals(result, qualifiedNameParent);
75
76 qualifiedNameMap.put(qualifiedName, "org.apache.torque");
77 result = qualifiedNameMap.getKeyInHierarchy(qualifiedName);
78 assertEquals(result, qualifiedName);
79
80 qualifiedNameMap.remove(qualifiedName);
81 result = qualifiedNameMap.getKeyInHierarchy(qualifiedName);
82 assertEquals(result, qualifiedNameParent);
83 }
84
85 @Test
86 public void testGetInHierarchyByQualifiedName()
87 {
88 QualifiedNameMap<String> qualifiedNameMap
89 = new QualifiedNameMap<String>();
90
91 String result = qualifiedNameMap.getInHierarchy(qualifiedName);
92 assertNull(result);
93
94 qualifiedNameMap.put(qualifiedNameUnrelated, "org.apa");
95 result = qualifiedNameMap.getInHierarchy(qualifiedName);
96 assertNull(result);
97
98 qualifiedNameMap.put(qualifiedNameChild, "org.apache.torque.generator");
99 result = qualifiedNameMap.getInHierarchy(qualifiedName);
100 assertNull(result);
101
102 qualifiedNameMap.put(qualifiedNameDefault, "default");
103 result = qualifiedNameMap.getInHierarchy(qualifiedName);
104 assertEquals(result, "default");
105
106 qualifiedNameMap.put(qualifiedNameAncestor, "org");
107 result = qualifiedNameMap.getInHierarchy(qualifiedName);
108 assertEquals(result, "org");
109
110 qualifiedNameMap.put(qualifiedNameParent, "org.apache");
111 result = qualifiedNameMap.getInHierarchy(qualifiedName);
112 assertEquals(result, "org.apache");
113
114 qualifiedNameMap.put(qualifiedName, "org.apache.torque");
115 result = qualifiedNameMap.getInHierarchy(qualifiedName);
116 assertEquals(result, "org.apache.torque");
117
118 qualifiedNameMap.put(qualifiedName, null);
119 result = qualifiedNameMap.getInHierarchy(qualifiedName);
120 assertEquals(result, null);
121
122 qualifiedNameMap.remove(qualifiedName);
123 result = qualifiedNameMap.getInHierarchy(qualifiedName);
124 assertEquals(result, "org.apache");
125 }
126
127 @Test
128 public void testGetInHierarchyByNamespace()
129 {
130 QualifiedNameMap<String> qualifiedNameMap
131 = new QualifiedNameMap<String>();
132
133 qualifiedNameMap.put(qualifiedNameUnrelated, "org.apa");
134 qualifiedNameMap.put(qualifiedNameChild, "org.apache.torque.generator");
135 qualifiedNameMap.put(qualifiedNameDefault, "default");
136 qualifiedNameMap.put(qualifiedNameParent, "org.apache");
137 qualifiedNameMap.put(qualifiedName, "org.apache.torque");
138 qualifiedNameMap.put(
139 qualifiedNameOtherName,
140 "org.apache.torque.otherName");
141
142 QualifiedNameMap<String> expected
143 = new QualifiedNameMap<String>();
144
145 expected.put(qualifiedName, "org.apache.torque");
146 expected.put(
147 qualifiedNameOtherName,
148 "org.apache.torque.otherName");
149
150 QualifiedNameMap<String> result
151 = qualifiedNameMap.getInHierarchy(
152 qualifiedName.getNamespace());
153
154 assertEquals(expected, result);
155 }
156
157 @Test
158 public void testGetAllInHierarchy()
159 {
160 QualifiedNameMap<String> qualifiedNameMap
161 = new QualifiedNameMap<String>();
162
163 qualifiedNameMap.put(qualifiedNameUnrelated, "org.apa");
164 qualifiedNameMap.put(qualifiedNameChild, "org.apache.torque.generator");
165 qualifiedNameMap.put(qualifiedNameDefault, "default");
166 qualifiedNameMap.put(qualifiedNameParent, "org.apache");
167 qualifiedNameMap.put(qualifiedName, "org.apache.torque");
168 qualifiedNameMap.put(
169 qualifiedNameOtherName,
170 "org.apache.torque.otherName");
171
172 QualifiedNameMap<String> expected
173 = new QualifiedNameMap<String>();
174
175 expected.put(qualifiedNameDefault, "default");
176 expected.put(qualifiedNameParent, "org.apache");
177 expected.put(qualifiedName, "org.apache.torque");
178 expected.put(
179 qualifiedNameOtherName,
180 "org.apache.torque.otherName");
181
182 QualifiedNameMap<String> result
183 = qualifiedNameMap.getAllInHierarchy(
184 qualifiedName.getNamespace());
185
186 assertEquals(expected, result);
187 }
188
189 public void testGetMoreSpecific()
190 {
191
192 }
193 }