2828import org .junit .jupiter .api .BeforeEach ;
2929import org .junit .jupiter .api .Test ;
3030
31+ import org .springframework .beans .factory .config .DependencyDescriptor ;
3132import org .springframework .beans .factory .config .FieldRetrievingFactoryBean ;
3233import org .springframework .beans .factory .config .PropertiesFactoryBean ;
3334import org .springframework .beans .factory .parsing .ComponentDefinition ;
4647 * @author Juergen Hoeller
4748 * @author Mark Fisher
4849 */
49- @ SuppressWarnings ("rawtypes" )
5050class UtilNamespaceHandlerTests {
5151
5252 private DefaultListableBeanFactory beanFactory ;
@@ -55,7 +55,7 @@ class UtilNamespaceHandlerTests {
5555
5656
5757 @ BeforeEach
58- void setUp () {
58+ void setup () {
5959 this .beanFactory = new DefaultListableBeanFactory ();
6060 XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader (this .beanFactory );
6161 reader .setEventListener (this .listener );
@@ -109,17 +109,17 @@ void testNestedPropertyPath() {
109109
110110 @ Test
111111 void testSimpleMap () {
112- Map <?, ?> map = (Map ) this .beanFactory .getBean ("simpleMap" );
112+ Map <?, ?> map = (Map <?, ?> ) this .beanFactory .getBean ("simpleMap" );
113113 assertThat (map .get ("foo" )).isEqualTo ("bar" );
114- Map <?, ?> map2 = (Map ) this .beanFactory .getBean ("simpleMap" );
114+ Map <?, ?> map2 = (Map <?, ?> ) this .beanFactory .getBean ("simpleMap" );
115115 assertThat (map ).isSameAs (map2 );
116116 }
117117
118118 @ Test
119119 void testScopedMap () {
120- Map <?, ?> map = (Map ) this .beanFactory .getBean ("scopedMap" );
120+ Map <?, ?> map = (Map <?, ?> ) this .beanFactory .getBean ("scopedMap" );
121121 assertThat (map .get ("foo" )).isEqualTo ("bar" );
122- Map <?, ?> map2 = (Map ) this .beanFactory .getBean ("scopedMap" );
122+ Map <?, ?> map2 = (Map <?, ?> ) this .beanFactory .getBean ("scopedMap" );
123123 assertThat (map2 .get ("foo" )).isEqualTo ("bar" );
124124 assertThat (map ).isNotSameAs (map2 );
125125 }
@@ -164,17 +164,23 @@ void testScopedSet() {
164164 }
165165
166166 @ Test
167- void testMapWithRef () {
168- Map <?, ?> map = (Map ) this .beanFactory .getBean ("mapWithRef" );
167+ void testMapWithRef () throws Exception {
168+ Map <?, ?> map = (Map <?, ?> ) this .beanFactory .getBean ("mapWithRef" );
169169 assertThat (map ).isInstanceOf (TreeMap .class );
170170 assertThat (map .get ("bean" )).isEqualTo (this .beanFactory .getBean ("testBean" ));
171+ assertThat (this .beanFactory .resolveDependency (
172+ new DependencyDescriptor (getClass ().getDeclaredField ("mapWithRef" ), true ), null ))
173+ .isSameAs (map );
171174 }
172175
173176 @ Test
174- void testMapWithTypes () {
175- Map <?, ?> map = (Map ) this .beanFactory .getBean ("mapWithTypes" );
177+ void testMapWithTypes () throws Exception {
178+ Map <?, ?> map = (Map <?, ?> ) this .beanFactory .getBean ("mapWithTypes" );
176179 assertThat (map ).isInstanceOf (LinkedCaseInsensitiveMap .class );
177180 assertThat (map .get ("bean" )).isEqualTo (this .beanFactory .getBean ("testBean" ));
181+ assertThat (this .beanFactory .resolveDependency (
182+ new DependencyDescriptor (getClass ().getDeclaredField ("mapWithTypes" ), true ), null ))
183+ .isSameAs (map );
178184 }
179185
180186 @ Test
@@ -240,11 +246,11 @@ void testNestedInCollections() {
240246 void testCircularCollections () {
241247 TestBean bean = (TestBean ) this .beanFactory .getBean ("circularCollectionsBean" );
242248
243- assertThat (bean .getSomeList ()).singleElement ().isEqualTo (bean );
244- assertThat (bean .getSomeSet ()).singleElement ().isEqualTo (bean );
249+ assertThat (bean .getSomeList ()).singleElement ().isSameAs (bean );
250+ assertThat (bean .getSomeSet ()).singleElement ().isSameAs (bean );
245251 assertThat (bean .getSomeMap ()).hasSize (1 ).allSatisfy ((key , value ) -> {
246252 assertThat (key ).isEqualTo ("foo" );
247- assertThat (value ).isEqualTo (bean );
253+ assertThat (value ).isSameAs (bean );
248254 });
249255 }
250256
@@ -255,17 +261,17 @@ void testCircularCollectionBeansStartingWithList() {
255261
256262 List <?> list = bean .getSomeList ();
257263 assertThat (Proxy .isProxyClass (list .getClass ())).isTrue ();
258- assertThat (list ).singleElement ().isEqualTo (bean );
264+ assertThat (list ).singleElement ().isSameAs (bean );
259265
260266 Set <?> set = bean .getSomeSet ();
261267 assertThat (Proxy .isProxyClass (set .getClass ())).isFalse ();
262- assertThat (set ).singleElement ().isEqualTo (bean );
268+ assertThat (set ).singleElement ().isSameAs (bean );
263269
264270 Map <?, ?> map = bean .getSomeMap ();
265271 assertThat (Proxy .isProxyClass (map .getClass ())).isFalse ();
266272 assertThat (map ).hasSize (1 ).allSatisfy ((key , value ) -> {
267273 assertThat (key ).isEqualTo ("foo" );
268- assertThat (value ).isEqualTo (bean );
274+ assertThat (value ).isSameAs (bean );
269275 });
270276 }
271277
@@ -276,17 +282,17 @@ void testCircularCollectionBeansStartingWithSet() {
276282
277283 List <?> list = bean .getSomeList ();
278284 assertThat (Proxy .isProxyClass (list .getClass ())).isFalse ();
279- assertThat (list ).singleElement ().isEqualTo (bean );
285+ assertThat (list ).singleElement ().isSameAs (bean );
280286
281287 Set <?> set = bean .getSomeSet ();
282288 assertThat (Proxy .isProxyClass (set .getClass ())).isTrue ();
283- assertThat (set ).singleElement ().isEqualTo (bean );
289+ assertThat (set ).singleElement ().isSameAs (bean );
284290
285291 Map <?, ?> map = bean .getSomeMap ();
286292 assertThat (Proxy .isProxyClass (map .getClass ())).isFalse ();
287293 assertThat (map ).hasSize (1 ).allSatisfy ((key , value ) -> {
288294 assertThat (key ).isEqualTo ("foo" );
289- assertThat (value ).isEqualTo (bean );
295+ assertThat (value ).isSameAs (bean );
290296 });
291297 }
292298
@@ -297,17 +303,17 @@ void testCircularCollectionBeansStartingWithMap() {
297303
298304 List <?> list = bean .getSomeList ();
299305 assertThat (Proxy .isProxyClass (list .getClass ())).isFalse ();
300- assertThat (list ).singleElement ().isEqualTo (bean );
306+ assertThat (list ).singleElement ().isSameAs (bean );
301307
302308 Set <?> set = bean .getSomeSet ();
303309 assertThat (Proxy .isProxyClass (set .getClass ())).isFalse ();
304- assertThat (set ).singleElement ().isEqualTo (bean );
310+ assertThat (set ).singleElement ().isSameAs (bean );
305311
306312 Map <?, ?> map = bean .getSomeMap ();
307313 assertThat (Proxy .isProxyClass (map .getClass ())).isTrue ();
308314 assertThat (map ).hasSize (1 ).allSatisfy ((key , value ) -> {
309315 assertThat (key ).isEqualTo ("foo" );
310- assertThat (value ).isEqualTo (bean );
316+ assertThat (value ).isSameAs (bean );
311317 });
312318 }
313319
@@ -372,4 +378,9 @@ void testLocalOverrideTrue() {
372378 assertThat (props ).as ("Incorrect property value" ).containsEntry ("foo2" , "local2" );
373379 }
374380
381+
382+ // For DependencyDescriptor resolution
383+ private Map <String , TestBean > mapWithRef ;
384+ private Map <String , TestBean > mapWithTypes ;
385+
375386}
0 commit comments