From e4b25ab480dc2d460d43bf6f6054abe9cc06f2c2 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Tue, 17 Jan 2023 16:01:23 +0100 Subject: [PATCH] Polishing --- .../AbstractAspectJAdvisorFactoryTests.java | 241 +++++----- .../ReflectiveAspectJAdvisorFactoryTests.java | 4 +- ...wiredAnnotationBeanPostProcessorTests.java | 444 +++++++++--------- 3 files changed, 334 insertions(+), 355 deletions(-) diff --git a/spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java b/spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java index ff167db17ba..04d71c65649 100644 --- a/spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java +++ b/spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ import java.io.FileNotFoundException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Method; +import java.lang.reflect.Modifier; import java.lang.reflect.UndeclaredThrowableException; import java.rmi.RemoteException; import java.util.ArrayList; @@ -76,24 +77,21 @@ abstract class AbstractAspectJAdvisorFactoryTests { /** * To be overridden by concrete test subclasses. - * @return the fixture */ - protected abstract AspectJAdvisorFactory getFixture(); + protected abstract AspectJAdvisorFactory getAdvisorFactory(); @Test void rejectsPerCflowAspect() { - assertThatExceptionOfType(AopConfigException.class).isThrownBy(() -> - getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new PerCflowAspect(), "someBean"))) + assertThatExceptionOfType(AopConfigException.class) + .isThrownBy(() -> getAdvisorFactory().getAdvisors(aspectInstanceFactory(new PerCflowAspect(), "someBean"))) .withMessageContaining("PERCFLOW"); } @Test void rejectsPerCflowBelowAspect() { - assertThatExceptionOfType(AopConfigException.class).isThrownBy(() -> - getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new PerCflowBelowAspect(), "someBean"))) + assertThatExceptionOfType(AopConfigException.class) + .isThrownBy(() -> getAdvisorFactory().getAdvisors(aspectInstanceFactory(new PerCflowBelowAspect(), "someBean"))) .withMessageContaining("PERCFLOWBELOW"); } @@ -102,9 +100,8 @@ abstract class AbstractAspectJAdvisorFactoryTests { TestBean target = new TestBean(); int realAge = 65; target.setAge(realAge); - TestBean itb = (TestBean) createProxy(target, - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory(new PerTargetAspect(), "someBean")), - TestBean.class); + TestBean itb = createProxy(target, TestBean.class, + getAdvisorFactory().getAdvisors(aspectInstanceFactory(new PerTargetAspect(), "someBean"))); assertThat(itb.getAge()).as("Around advice must NOT apply").isEqualTo(realAge); Advised advised = (Advised) itb; @@ -139,15 +136,13 @@ abstract class AbstractAspectJAdvisorFactoryTests { PerTargetAspect aspect1 = new PerTargetAspect(); aspect1.count = 100; aspect1.setOrder(10); - advisors.addAll( - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory(aspect1, "someBean1"))); + advisors.addAll(getAdvisorFactory().getAdvisors(aspectInstanceFactory(aspect1, "someBean1"))); PerTargetAspect aspect2 = new PerTargetAspect(); aspect2.setOrder(5); - advisors.addAll( - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory(aspect2, "someBean2"))); + advisors.addAll(getAdvisorFactory().getAdvisors(aspectInstanceFactory(aspect2, "someBean2"))); OrderComparator.sort(advisors); - TestBean itb = (TestBean) createProxy(target, advisors, TestBean.class); + TestBean itb = createProxy(target, TestBean.class, advisors); assertThat(itb.getAge()).as("Around advice must NOT apply").isEqualTo(realAge); // Hit the method in the per clause to instantiate the aspect @@ -166,14 +161,12 @@ abstract class AbstractAspectJAdvisorFactoryTests { List advisors = new ArrayList<>(); PerTargetAspectWithOrderAnnotation10 aspect1 = new PerTargetAspectWithOrderAnnotation10(); aspect1.count = 100; - advisors.addAll( - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory(aspect1, "someBean1"))); + advisors.addAll(getAdvisorFactory().getAdvisors(aspectInstanceFactory(aspect1, "someBean1"))); PerTargetAspectWithOrderAnnotation5 aspect2 = new PerTargetAspectWithOrderAnnotation5(); - advisors.addAll( - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory(aspect2, "someBean2"))); + advisors.addAll(getAdvisorFactory().getAdvisors(aspectInstanceFactory(aspect2, "someBean2"))); OrderComparator.sort(advisors); - TestBean itb = (TestBean) createProxy(target, advisors, TestBean.class); + TestBean itb = createProxy(target, TestBean.class, advisors); assertThat(itb.getAge()).as("Around advice must NOT apply").isEqualTo(realAge); // Hit the method in the per clause to instantiate the aspect @@ -188,9 +181,8 @@ abstract class AbstractAspectJAdvisorFactoryTests { TestBean target = new TestBean(); int realAge = 65; target.setAge(realAge); - TestBean itb = (TestBean) createProxy(target, - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory(new PerThisAspect(), "someBean")), - TestBean.class); + TestBean itb = createProxy(target, TestBean.class, + getAdvisorFactory().getAdvisors(aspectInstanceFactory(new PerThisAspect(), "someBean"))); assertThat(itb.getAge()).as("Around advice must NOT apply").isEqualTo(realAge); Advised advised = (Advised) itb; @@ -225,7 +217,7 @@ abstract class AbstractAspectJAdvisorFactoryTests { int realAge = 65; target.setAge(realAge); PerTypeWithinAspectInstanceFactory aif = new PerTypeWithinAspectInstanceFactory(); - TestBean itb = (TestBean) createProxy(target, getFixture().getAdvisors(aif), TestBean.class); + TestBean itb = createProxy(target, TestBean.class, getAdvisorFactory().getAdvisors(aif)); assertThat(aif.getInstantiationCount()).as("No method calls").isEqualTo(0); assertThat(itb.getAge()).as("Around advice must now apply").isEqualTo(0); @@ -254,7 +246,7 @@ abstract class AbstractAspectJAdvisorFactoryTests { assertThat(itb.getAge()).as("Around advice must still apply").isEqualTo(1); assertThat(itb.getAge()).as("Around advice must still apply").isEqualTo(2); - TestBean itb2 = (TestBean) createProxy(target, getFixture().getAdvisors(aif), TestBean.class); + TestBean itb2 = createProxy(target, TestBean.class, getAdvisorFactory().getAdvisors(aif)); assertThat(aif.getInstantiationCount()).isEqualTo(1); assertThat(itb2.getAge()).as("Around advice be independent for second instance").isEqualTo(0); assertThat(aif.getInstantiationCount()).isEqualTo(2); @@ -278,10 +270,9 @@ abstract class AbstractAspectJAdvisorFactoryTests { @Test void namedPointcutFromAspectLibraryWithBinding() { TestBean target = new TestBean(); - ITestBean itb = (ITestBean) createProxy(target, - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory( - new NamedPointcutAspectFromLibraryWithBinding(), "someBean")), - ITestBean.class); + ITestBean itb = createProxy(target, ITestBean.class, + getAdvisorFactory().getAdvisors(aspectInstanceFactory( + new NamedPointcutAspectFromLibraryWithBinding(), "someBean"))); itb.setAge(10); assertThat(itb.getAge()).as("Around advice must apply").isEqualTo(20); assertThat(target.getAge()).isEqualTo(20); @@ -291,9 +282,8 @@ abstract class AbstractAspectJAdvisorFactoryTests { TestBean target = new TestBean(); int realAge = 65; target.setAge(realAge); - ITestBean itb = (ITestBean) createProxy(target, - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory(aspectInstance, "someBean")), - ITestBean.class); + ITestBean itb = createProxy(target, ITestBean.class, + getAdvisorFactory().getAdvisors(aspectInstanceFactory(aspectInstance, "someBean"))); assertThat(itb.getAge()).as("Around advice must apply").isEqualTo(-1); assertThat(target.getAge()).isEqualTo(realAge); } @@ -301,10 +291,8 @@ abstract class AbstractAspectJAdvisorFactoryTests { @Test void bindingWithSingleArg() { TestBean target = new TestBean(); - ITestBean itb = (ITestBean) createProxy(target, - getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new BindingAspectWithSingleArg(), "someBean")), - ITestBean.class); + ITestBean itb = createProxy(target, ITestBean.class, + getAdvisorFactory().getAdvisors(aspectInstanceFactory(new BindingAspectWithSingleArg(), "someBean"))); itb.setAge(10); assertThat(itb.getAge()).as("Around advice must apply").isEqualTo(20); assertThat(target.getAge()).isEqualTo(20); @@ -313,10 +301,8 @@ abstract class AbstractAspectJAdvisorFactoryTests { @Test void bindingWithMultipleArgsDifferentlyOrdered() { ManyValuedArgs target = new ManyValuedArgs(); - ManyValuedArgs mva = (ManyValuedArgs) createProxy(target, - getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new ManyValuedArgs(), "someBean")), - ManyValuedArgs.class); + ManyValuedArgs mva = createProxy(target, ManyValuedArgs.class, + getAdvisorFactory().getAdvisors(aspectInstanceFactory(new ManyValuedArgs(), "someBean"))); String a = "a"; int b = 12; @@ -334,10 +320,8 @@ abstract class AbstractAspectJAdvisorFactoryTests { void introductionOnTargetNotImplementingInterface() { NotLockable notLockableTarget = new NotLockable(); assertThat(notLockableTarget instanceof Lockable).isFalse(); - NotLockable notLockable1 = (NotLockable) createProxy(notLockableTarget, - getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new MakeLockable(), "someBean")), - NotLockable.class); + NotLockable notLockable1 = createProxy(notLockableTarget, NotLockable.class, + getAdvisorFactory().getAdvisors(aspectInstanceFactory(new MakeLockable(), "someBean"))); assertThat(notLockable1 instanceof Lockable).isTrue(); Lockable lockable = (Lockable) notLockable1; assertThat(lockable.locked()).isFalse(); @@ -345,72 +329,64 @@ abstract class AbstractAspectJAdvisorFactoryTests { assertThat(lockable.locked()).isTrue(); NotLockable notLockable2Target = new NotLockable(); - NotLockable notLockable2 = (NotLockable) createProxy(notLockable2Target, - getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new MakeLockable(), "someBean")), - NotLockable.class); + NotLockable notLockable2 = createProxy(notLockable2Target, NotLockable.class, + getAdvisorFactory().getAdvisors(aspectInstanceFactory(new MakeLockable(), "someBean"))); assertThat(notLockable2 instanceof Lockable).isTrue(); Lockable lockable2 = (Lockable) notLockable2; assertThat(lockable2.locked()).isFalse(); notLockable2.setIntValue(1); lockable2.lock(); - assertThatIllegalStateException().isThrownBy(() -> - notLockable2.setIntValue(32)); + assertThatIllegalStateException().isThrownBy(() -> notLockable2.setIntValue(32)); assertThat(lockable2.locked()).isTrue(); } @Test void introductionAdvisorExcludedFromTargetImplementingInterface() { assertThat(AopUtils.findAdvisorsThatCanApply( - getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new MakeLockable(), "someBean")), + getAdvisorFactory().getAdvisors( + aspectInstanceFactory(new MakeLockable(), "someBean")), CannotBeUnlocked.class).isEmpty()).isTrue(); - assertThat(AopUtils.findAdvisorsThatCanApply(getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new MakeLockable(),"someBean")), NotLockable.class)).hasSize(2); + assertThat(AopUtils.findAdvisorsThatCanApply(getAdvisorFactory().getAdvisors( + aspectInstanceFactory(new MakeLockable(),"someBean")), NotLockable.class)).hasSize(2); } @Test void introductionOnTargetImplementingInterface() { CannotBeUnlocked target = new CannotBeUnlocked(); - Lockable proxy = (Lockable) createProxy(target, + Lockable proxy = createProxy(target, CannotBeUnlocked.class, // Ensure that we exclude AopUtils.findAdvisorsThatCanApply( - getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new MakeLockable(), "someBean")), - CannotBeUnlocked.class - ), - CannotBeUnlocked.class); + getAdvisorFactory().getAdvisors(aspectInstanceFactory(new MakeLockable(), "someBean")), + CannotBeUnlocked.class)); assertThat(proxy).isInstanceOf(Lockable.class); Lockable lockable = proxy; assertThat(lockable.locked()).as("Already locked").isTrue(); lockable.lock(); assertThat(lockable.locked()).as("Real target ignores locking").isTrue(); - assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> - lockable.unlock()); + assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(() -> lockable.unlock()); } @Test void introductionOnTargetExcludedByTypePattern() { ArrayList target = new ArrayList<>(); - List proxy = (List) createProxy(target, + List proxy = createProxy(target, List.class, AopUtils.findAdvisorsThatCanApply( - getFixture().getAdvisors(new SingletonMetadataAwareAspectInstanceFactory(new MakeLockable(), "someBean")), - List.class - ), - List.class); + getAdvisorFactory().getAdvisors(aspectInstanceFactory(new MakeLockable(), "someBean")), + List.class)); assertThat(proxy instanceof Lockable).as("Type pattern must have excluded mixin").isFalse(); } @Test - void introductionBasedOnAnnotationMatch_SPR5307() { + void introductionBasedOnAnnotationMatch() { // gh-9980 AnnotatedTarget target = new AnnotatedTargetImpl(); - List advisors = getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new MakeAnnotatedTypeModifiable(), "someBean")); - Object proxy = createProxy(target, advisors, AnnotatedTarget.class); - System.out.println(advisors.get(1)); - assertThat(proxy instanceof Lockable).isTrue(); - Lockable lockable = (Lockable)proxy; - lockable.locked(); + List advisors = getAdvisorFactory().getAdvisors( + aspectInstanceFactory(new MakeAnnotatedTypeModifiable(), "someBean")); + Object proxy = createProxy(target, AnnotatedTarget.class, advisors); + assertThat(proxy).isInstanceOf(Lockable.class); + Lockable lockable = (Lockable) proxy; + assertThat(lockable.locked()).isFalse(); + lockable.lock(); + assertThat(lockable.locked()).isTrue(); } // TODO: Why does this test fail? It hasn't been run before, so it maybe never actually passed... @@ -419,12 +395,12 @@ abstract class AbstractAspectJAdvisorFactoryTests { void introductionWithArgumentBinding() { TestBean target = new TestBean(); - List advisors = getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new MakeITestBeanModifiable(), "someBean")); - advisors.addAll(getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new MakeLockable(), "someBean"))); + List advisors = getAdvisorFactory().getAdvisors( + aspectInstanceFactory(new MakeITestBeanModifiable(), "someBean")); + advisors.addAll(getAdvisorFactory().getAdvisors( + aspectInstanceFactory(new MakeLockable(), "someBean"))); - Modifiable modifiable = (Modifiable) createProxy(target, advisors, ITestBean.class); + Modifiable modifiable = (Modifiable) createProxy(target, ITestBean.class, advisors); assertThat(modifiable).isInstanceOf(Modifiable.class); Lockable lockable = (Lockable) modifiable; assertThat(lockable.locked()).isFalse(); @@ -443,8 +419,7 @@ abstract class AbstractAspectJAdvisorFactoryTests { lockable.lock(); assertThat(lockable.locked()).isTrue(); - assertThatIllegalStateException().as("Should be locked").isThrownBy(() -> - itb.setName("Else")); + assertThatIllegalStateException().as("Should be locked").isThrownBy(() -> itb.setName("Else")); lockable.unlock(); itb.setName("Tony"); } @@ -453,12 +428,11 @@ abstract class AbstractAspectJAdvisorFactoryTests { void aspectMethodThrowsExceptionLegalOnSignature() { TestBean target = new TestBean(); UnsupportedOperationException expectedException = new UnsupportedOperationException(); - List advisors = getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new ExceptionThrowingAspect(expectedException), "someBean")); + List advisors = getAdvisorFactory().getAdvisors( + aspectInstanceFactory(new ExceptionThrowingAspect(expectedException), "someBean")); assertThat(advisors.size()).as("One advice method was found").isEqualTo(1); - ITestBean itb = (ITestBean) createProxy(target, advisors, ITestBean.class); - assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy( - itb::getAge); + ITestBean itb = createProxy(target, ITestBean.class, advisors); + assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy(itb::getAge); } // TODO document this behaviour. @@ -467,39 +441,23 @@ abstract class AbstractAspectJAdvisorFactoryTests { void aspectMethodThrowsExceptionIllegalOnSignature() { TestBean target = new TestBean(); RemoteException expectedException = new RemoteException(); - List advisors = getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(new ExceptionThrowingAspect(expectedException), "someBean")); + List advisors = getAdvisorFactory().getAdvisors( + aspectInstanceFactory(new ExceptionThrowingAspect(expectedException), "someBean")); assertThat(advisors.size()).as("One advice method was found").isEqualTo(1); - ITestBean itb = (ITestBean) createProxy(target, advisors, ITestBean.class); - assertThatExceptionOfType(UndeclaredThrowableException.class).isThrownBy( - itb::getAge).withCause(expectedException); - } - - protected Object createProxy(Object target, List advisors, Class... interfaces) { - ProxyFactory pf = new ProxyFactory(target); - if (interfaces.length > 1 || interfaces[0].isInterface()) { - pf.setInterfaces(interfaces); - } - else { - pf.setProxyTargetClass(true); - } - - // Required everywhere we use AspectJ proxies - pf.addAdvice(ExposeInvocationInterceptor.INSTANCE); - pf.addAdvisors(advisors); - - pf.setExposeProxy(true); - return pf.getProxy(); + ITestBean itb = createProxy(target, ITestBean.class, advisors); + assertThatExceptionOfType(UndeclaredThrowableException.class) + .isThrownBy(itb::getAge) + .withCause(expectedException); } @Test void twoAdvicesOnOneAspect() { TestBean target = new TestBean(); TwoAdviceAspect twoAdviceAspect = new TwoAdviceAspect(); - List advisors = getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(twoAdviceAspect, "someBean")); + List advisors = getAdvisorFactory().getAdvisors( + aspectInstanceFactory(twoAdviceAspect, "someBean")); assertThat(advisors.size()).as("Two advice methods found").isEqualTo(2); - ITestBean itb = (ITestBean) createProxy(target, advisors, ITestBean.class); + ITestBean itb = createProxy(target, ITestBean.class, advisors); itb.setName(""); assertThat(itb.getAge()).isEqualTo(0); int newAge = 32; @@ -510,40 +468,63 @@ abstract class AbstractAspectJAdvisorFactoryTests { @Test void afterAdviceTypes() throws Exception { InvocationTrackingAspect aspect = new InvocationTrackingAspect(); - List advisors = getFixture().getAdvisors( - new SingletonMetadataAwareAspectInstanceFactory(aspect, "exceptionHandlingAspect")); - Echo echo = (Echo) createProxy(new Echo(), advisors, Echo.class); + List advisors = getAdvisorFactory().getAdvisors( + aspectInstanceFactory(aspect, "exceptionHandlingAspect")); + Echo echo = createProxy(new Echo(), Echo.class, advisors); assertThat(aspect.invocations).isEmpty(); assertThat(echo.echo(42)).isEqualTo(42); assertThat(aspect.invocations).containsExactly("around - start", "before", "after returning", "after", "around - end"); aspect.invocations.clear(); - assertThatExceptionOfType(FileNotFoundException.class).isThrownBy(() -> echo.echo(new FileNotFoundException())); + assertThatExceptionOfType(FileNotFoundException.class) + .isThrownBy(() -> echo.echo(new FileNotFoundException())); assertThat(aspect.invocations).containsExactly("around - start", "before", "after throwing", "after", "around - end"); } @Test void failureWithoutExplicitDeclarePrecedence() { TestBean target = new TestBean(); - MetadataAwareAspectInstanceFactory aspectInstanceFactory = new SingletonMetadataAwareAspectInstanceFactory( + MetadataAwareAspectInstanceFactory aspectInstanceFactory = aspectInstanceFactory( new NoDeclarePrecedenceShouldFail(), "someBean"); - ITestBean itb = (ITestBean) createProxy(target, - getFixture().getAdvisors(aspectInstanceFactory), ITestBean.class); - itb.getAge(); + ITestBean itb = createProxy(target, ITestBean.class, getAdvisorFactory().getAdvisors(aspectInstanceFactory)); + assertThat(itb.getAge()).isEqualTo(42); } @Test void declarePrecedenceNotSupported() { TestBean target = new TestBean(); assertThatIllegalArgumentException().isThrownBy(() -> { - MetadataAwareAspectInstanceFactory aspectInstanceFactory = new SingletonMetadataAwareAspectInstanceFactory( + MetadataAwareAspectInstanceFactory aspectInstanceFactory = aspectInstanceFactory( new DeclarePrecedenceShouldSucceed(), "someBean"); - createProxy(target, getFixture().getAdvisors(aspectInstanceFactory), ITestBean.class); + createProxy(target, ITestBean.class, getAdvisorFactory().getAdvisors(aspectInstanceFactory)); }); } + private static MetadataAwareAspectInstanceFactory aspectInstanceFactory(Object aspectInstance, String aspectName) { + return new SingletonMetadataAwareAspectInstanceFactory(aspectInstance, aspectName); + } + + @SuppressWarnings("unchecked") + private static T createProxy(Object target, Class type, List advisors) { + ProxyFactory pf = new ProxyFactory(target); + if (type.isInterface()) { + pf.addInterface(type); + } + else { + pf.setProxyTargetClass(true); + } + + // Required everywhere we use AspectJ proxies + pf.addAdvice(ExposeInvocationInterceptor.INSTANCE); + pf.addAdvisors(advisors); + + pf.setExposeProxy(true); + return (T) pf.getProxy(); + } + + @Aspect("percflow(execution(* *(..)))") static class PerCflowAspect { } @@ -758,11 +739,11 @@ abstract class AbstractAspectJAdvisorFactoryTests { static class Echo { - Object echo(Object o) throws Exception { - if (o instanceof Exception) { - throw (Exception) o; + Object echo(Object obj) throws Exception { + if (obj instanceof Exception ex) { + throw ex; } - return o; + return obj; } } @@ -824,7 +805,7 @@ abstract class AbstractAspectJAdvisorFactoryTests { @Around("getAge()") int preventExecution(ProceedingJoinPoint pjp) { - return 666; + return 42; } } @@ -844,7 +825,7 @@ abstract class AbstractAspectJAdvisorFactoryTests { @Around("getAge()") int preventExecution(ProceedingJoinPoint pjp) { - return 666; + return 42; } } diff --git a/spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/ReflectiveAspectJAdvisorFactoryTests.java b/spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/ReflectiveAspectJAdvisorFactoryTests.java index d649ea01964..cf7a821c06f 100644 --- a/spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/ReflectiveAspectJAdvisorFactoryTests.java +++ b/spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/ReflectiveAspectJAdvisorFactoryTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2020 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ package org.springframework.aop.aspectj.annotation; class ReflectiveAspectJAdvisorFactoryTests extends AbstractAspectJAdvisorFactoryTests { @Override - protected AspectJAdvisorFactory getFixture() { + protected AspectJAdvisorFactory getAdvisorFactory() { return new ReflectiveAspectJAdvisorFactory(); } diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java index d4798fc2167..8a57c8d68c4 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java @@ -85,16 +85,14 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; */ public class AutowiredAnnotationBeanPostProcessorTests { - private DefaultListableBeanFactory bf; + private DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); - private AutowiredAnnotationBeanPostProcessor bpp; + private AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor(); @BeforeEach - public void setup() { - bf = new DefaultListableBeanFactory(); + void setup() { bf.registerResolvableDependency(BeanFactory.class, bf); - bpp = new AutowiredAnnotationBeanPostProcessor(); bpp.setBeanFactory(bf); bf.addBeanPostProcessor(bpp); bf.setAutowireCandidateResolver(new QualifierAnnotationAutowireCandidateResolver()); @@ -102,13 +100,13 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @AfterEach - public void close() { + void close() { bf.destroySingletons(); } @Test - public void testIncompleteBeanDefinition() { + void incompleteBeanDefinition() { bf.registerBeanDefinition("testBean", new GenericBeanDefinition()); assertThatExceptionOfType(BeanCreationException.class).isThrownBy(() -> bf.getBean("testBean")) @@ -116,7 +114,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testResourceInjection() { + void resourceInjection() { RootBeanDefinition bd = new RootBeanDefinition(ResourceInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -133,7 +131,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testExtendedResourceInjection() { + void extendedResourceInjection() { RootBeanDefinition bd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -165,7 +163,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testExtendedResourceInjectionWithDestruction() { + void extendedResourceInjectionWithDestruction() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(TypedExtendedResourceInjectionBean.class)); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); NestedTestBean ntb = new NestedTestBean(); @@ -189,7 +187,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testExtendedResourceInjectionWithOverriding() { + void extendedResourceInjectionWithOverriding() { RootBeanDefinition annotatedBd = new RootBeanDefinition(TypedExtendedResourceInjectionBean.class); TestBean tb2 = new TestBean(); annotatedBd.getPropertyValues().add("testBean2", tb2); @@ -209,7 +207,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testExtendedResourceInjectionWithSkippedOverriddenMethods() { + void extendedResourceInjectionWithSkippedOverriddenMethods() { RootBeanDefinition annotatedBd = new RootBeanDefinition(OverriddenExtendedResourceInjectionBean.class); bf.registerBeanDefinition("annotatedBean", annotatedBd); TestBean tb = new TestBean(); @@ -229,7 +227,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testExtendedResourceInjectionWithDefaultMethod() { + void extendedResourceInjectionWithDefaultMethod() { RootBeanDefinition annotatedBd = new RootBeanDefinition(DefaultMethodResourceInjectionBean.class); bf.registerBeanDefinition("annotatedBean", annotatedBd); TestBean tb = new TestBean(); @@ -249,7 +247,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOptionalResourceInjection() { + void optionalResourceInjection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(OptionalResourceInjectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -275,7 +273,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOptionalResourceInjectionWithSingletonRemoval() { + void optionalResourceInjectionWithSingletonRemoval() { RootBeanDefinition rbd = new RootBeanDefinition(OptionalResourceInjectionBean.class); rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", rbd); @@ -333,7 +331,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOptionalResourceInjectionWithBeanDefinitionRemoval() { + void optionalResourceInjectionWithBeanDefinitionRemoval() { RootBeanDefinition rbd = new RootBeanDefinition(OptionalResourceInjectionBean.class); rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", rbd); @@ -390,7 +388,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOptionalCollectionResourceInjection() { + void optionalCollectionResourceInjection() { RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class); rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", rbd); @@ -423,7 +421,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOptionalCollectionResourceInjectionWithSingleElement() { + void optionalCollectionResourceInjectionWithSingleElement() { RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class); rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", rbd); @@ -451,7 +449,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOptionalResourceInjectionWithIncompleteDependencies() { + void optionalResourceInjectionWithIncompleteDependencies() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(OptionalResourceInjectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -465,7 +463,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOptionalResourceInjectionWithNoDependencies() { + void optionalResourceInjectionWithNoDependencies() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(OptionalResourceInjectionBean.class)); OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); @@ -477,7 +475,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOrderedResourceInjection() { + void orderedResourceInjection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(OptionalResourceInjectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -505,7 +503,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testAnnotationOrderedResourceInjection() { + void annotationOrderedResourceInjection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(OptionalResourceInjectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -531,7 +529,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testOrderedCollectionResourceInjection() { + void orderedCollectionResourceInjection() { RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class); rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", rbd); @@ -566,7 +564,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testAnnotationOrderedCollectionResourceInjection() { + void annotationOrderedCollectionResourceInjection() { RootBeanDefinition rbd = new RootBeanDefinition(OptionalCollectionResourceInjectionBean.class); rbd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", rbd); @@ -599,7 +597,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjection() { + void constructorResourceInjection() { RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -626,7 +624,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithSingletonRemoval() { + void constructorResourceInjectionWithSingletonRemoval() { RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -665,7 +663,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithBeanDefinitionRemoval() { + void constructorResourceInjectionWithBeanDefinitionRemoval() { RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -703,7 +701,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithNullFromFactoryBean() { + void constructorResourceInjectionWithNullFromFactoryBean() { RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -730,7 +728,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithNullFromFactoryMethod() { + void constructorResourceInjectionWithNullFromFactoryMethod() { RootBeanDefinition bd = new RootBeanDefinition(ConstructorResourceInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -760,7 +758,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithMultipleCandidates() { + void constructorResourceInjectionWithMultipleCandidates() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorsResourceInjectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -778,7 +776,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithNoCandidatesAndNoFallback() { + void constructorResourceInjectionWithNoCandidatesAndNoFallback() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorWithoutFallbackBean.class)); assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() -> bf.getBean("annotatedBean")) @@ -786,7 +784,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithCollectionAndNullFromFactoryBean() { + void constructorResourceInjectionWithCollectionAndNullFromFactoryBean() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition( ConstructorsCollectionResourceInjectionBean.class)); TestBean tb = new TestBean(); @@ -807,7 +805,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithMultipleCandidatesAsCollection() { + void constructorResourceInjectionWithMultipleCandidatesAsCollection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition( ConstructorsCollectionResourceInjectionBean.class)); TestBean tb = new TestBean(); @@ -826,7 +824,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithMultipleOrderedCandidates() { + void constructorResourceInjectionWithMultipleOrderedCandidates() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorsResourceInjectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -844,7 +842,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithMultipleCandidatesAsOrderedCollection() { + void constructorResourceInjectionWithMultipleCandidatesAsOrderedCollection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorsCollectionResourceInjectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -862,7 +860,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSingleConstructorInjectionWithMultipleCandidatesAsRequiredVararg() { + void singleConstructorInjectionWithMultipleCandidatesAsRequiredVararg() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorVarargBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -879,7 +877,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSingleConstructorInjectionWithEmptyVararg() { + void singleConstructorInjectionWithEmptyVararg() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorVarargBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -891,7 +889,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSingleConstructorInjectionWithMultipleCandidatesAsRequiredCollection() { + void singleConstructorInjectionWithMultipleCandidatesAsRequiredCollection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorRequiredCollectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -908,7 +906,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSingleConstructorInjectionWithEmptyCollection() { + void singleConstructorInjectionWithEmptyCollection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorRequiredCollectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -920,7 +918,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSingleConstructorInjectionWithMultipleCandidatesAsOrderedCollection() { + void singleConstructorInjectionWithMultipleCandidatesAsOrderedCollection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorOptionalCollectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -937,7 +935,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSingleConstructorInjectionWithEmptyCollectionAsNull() { + void singleConstructorInjectionWithEmptyCollectionAsNull() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorOptionalCollectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -948,14 +946,14 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSingleConstructorInjectionWithMissingDependency() { + void singleConstructorInjectionWithMissingDependency() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorOptionalCollectionBean.class)); assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() -> bf.getBean("annotatedBean")); } @Test - public void testSingleConstructorInjectionWithNullDependency() { + void singleConstructorInjectionWithNullDependency() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorOptionalCollectionBean.class)); RootBeanDefinition tb = new RootBeanDefinition(NullFactoryMethods.class); tb.setFactoryMethodName("createTestBean"); @@ -965,7 +963,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithMultipleCandidatesAndFallback() { + void constructorResourceInjectionWithMultipleCandidatesAndFallback() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorsResourceInjectionBean.class)); TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); @@ -976,7 +974,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorResourceInjectionWithMultipleCandidatesAndDefaultFallback() { + void constructorResourceInjectionWithMultipleCandidatesAndDefaultFallback() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorsResourceInjectionBean.class)); ConstructorsResourceInjectionBean bean = (ConstructorsResourceInjectionBean) bf.getBean("annotatedBean"); @@ -985,7 +983,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorInjectionWithMap() { + void constructorInjectionWithMap() { RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1007,7 +1005,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testFieldInjectionWithMap() { + void fieldInjectionWithMap() { RootBeanDefinition bd = new RootBeanDefinition(MapFieldInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1032,7 +1030,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testMethodInjectionWithMap() { + void methodInjectionWithMap() { RootBeanDefinition bd = new RootBeanDefinition(MapMethodInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1053,7 +1051,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testMethodInjectionWithMapAndMultipleMatches() { + void methodInjectionWithMapAndMultipleMatches() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(MapMethodInjectionBean.class)); bf.registerBeanDefinition("testBean1", new RootBeanDefinition(TestBean.class)); bf.registerBeanDefinition("testBean2", new RootBeanDefinition(TestBean.class)); @@ -1063,7 +1061,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testMethodInjectionWithMapAndMultipleMatchesButOnlyOneAutowireCandidate() { + void methodInjectionWithMapAndMultipleMatchesButOnlyOneAutowireCandidate() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(MapMethodInjectionBean.class)); bf.registerBeanDefinition("testBean1", new RootBeanDefinition(TestBean.class)); RootBeanDefinition rbd2 = new RootBeanDefinition(TestBean.class); @@ -1079,7 +1077,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testMethodInjectionWithMapAndNoMatches() { + void methodInjectionWithMapAndNoMatches() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(MapMethodInjectionBean.class)); MapMethodInjectionBean bean = (MapMethodInjectionBean) bf.getBean("annotatedBean"); @@ -1088,7 +1086,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorInjectionWithTypedMapAsBean() { + void constructorInjectionWithTypedMapAsBean() { RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1105,7 +1103,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorInjectionWithPlainMapAsBean() { + void constructorInjectionWithPlainMapAsBean() { RootBeanDefinition bd = new RootBeanDefinition(MapConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1121,7 +1119,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorInjectionWithCustomMapAsBean() { + void constructorInjectionWithCustomMapAsBean() { RootBeanDefinition bd = new RootBeanDefinition(CustomMapConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1138,7 +1136,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorInjectionWithPlainHashMapAsBean() { + void constructorInjectionWithPlainHashMapAsBean() { RootBeanDefinition bd = new RootBeanDefinition(QualifiedMapConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1151,7 +1149,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorInjectionWithTypedSetAsBean() { + void constructorInjectionWithTypedSetAsBean() { RootBeanDefinition bd = new RootBeanDefinition(SetConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1168,7 +1166,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorInjectionWithPlainSetAsBean() { + void constructorInjectionWithPlainSetAsBean() { RootBeanDefinition bd = new RootBeanDefinition(SetConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1184,7 +1182,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testConstructorInjectionWithCustomSetAsBean() { + void constructorInjectionWithCustomSetAsBean() { RootBeanDefinition bd = new RootBeanDefinition(CustomSetConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1199,7 +1197,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSelfReference() { + void selfReference() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectionBean.class)); SelfInjectionBean bean = (SelfInjectionBean) bf.getBean("annotatedBean"); @@ -1208,7 +1206,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSelfReferenceWithOther() { + void selfReferenceWithOther() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectionBean.class)); bf.registerBeanDefinition("annotatedBean2", new RootBeanDefinition(SelfInjectionBean.class)); @@ -1220,7 +1218,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSelfReferenceCollection() { + void selfReferenceCollection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectionCollectionBean.class)); SelfInjectionCollectionBean bean = (SelfInjectionCollectionBean) bf.getBean("annotatedBean"); @@ -1229,19 +1227,19 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSelfReferenceCollectionWithOther() { + void selfReferenceCollectionWithOther() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectionCollectionBean.class)); bf.registerBeanDefinition("annotatedBean2", new RootBeanDefinition(SelfInjectionCollectionBean.class)); SelfInjectionCollectionBean bean = (SelfInjectionCollectionBean) bf.getBean("annotatedBean"); SelfInjectionCollectionBean bean2 = (SelfInjectionCollectionBean) bf.getBean("annotatedBean2"); assertThat(bean.reference).isSameAs(bean2); - assertThat(bean2.referenceCollection.size()).isSameAs(1); + assertThat(bean2.referenceCollection).hasSize(1); assertThat(bean.referenceCollection.get(0)).isSameAs(bean2); } @Test - public void testObjectFactoryFieldInjection() { + void objectFactoryFieldInjection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectFactoryFieldInjectionBean.class)); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); @@ -1250,7 +1248,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectFactoryConstructorInjection() { + void objectFactoryConstructorInjection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectFactoryConstructorInjectionBean.class)); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); @@ -1259,7 +1257,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectFactoryInjectionIntoPrototypeBean() { + void objectFactoryInjectionIntoPrototypeBean() { RootBeanDefinition annotatedBeanDefinition = new RootBeanDefinition(ObjectFactoryFieldInjectionBean.class); annotatedBeanDefinition.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", annotatedBeanDefinition); @@ -1273,7 +1271,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectFactoryQualifierInjection() { + void objectFactoryQualifierInjection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectFactoryQualifierInjectionBean.class)); RootBeanDefinition bd = new RootBeanDefinition(TestBean.class); bd.addQualifier(new AutowireCandidateQualifier(Qualifier.class, "testBean")); @@ -1285,7 +1283,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectFactoryQualifierProviderInjection() { + void objectFactoryQualifierProviderInjection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectFactoryQualifierInjectionBean.class)); RootBeanDefinition bd = new RootBeanDefinition(TestBean.class); bd.setQualifiedElement(ReflectionUtils.findMethod(getClass(), "testBeanQualifierProvider")); @@ -1297,7 +1295,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectFactorySerialization() throws Exception { + void objectFactorySerialization() throws Exception { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectFactoryFieldInjectionBean.class)); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); bf.setSerializationId("test"); @@ -1309,7 +1307,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectProviderInjectionWithPrototype() { + void objectProviderInjectionWithPrototype() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class)); RootBeanDefinition tbd = new RootBeanDefinition(TestBean.class); tbd.setScope(BeanDefinition.SCOPE_PROTOTYPE); @@ -1340,7 +1338,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectProviderInjectionWithSingletonTarget() { + void objectProviderInjectionWithSingletonTarget() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class)); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); @@ -1368,7 +1366,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectProviderInjectionWithTargetNotAvailable() { + void objectProviderInjectionWithTargetNotAvailable() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class)); ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean"); @@ -1392,7 +1390,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectProviderInjectionWithTargetNotUnique() { + void objectProviderInjectionWithTargetNotUnique() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class)); bf.registerBeanDefinition("testBean1", new RootBeanDefinition(TestBean.class)); bf.registerBeanDefinition("testBean2", new RootBeanDefinition(TestBean.class)); @@ -1423,7 +1421,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectProviderInjectionWithTargetPrimary() { + void objectProviderInjectionWithTargetPrimary() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class)); RootBeanDefinition tb1 = new RootBeanDefinition(TestBeanFactory.class); tb1.setFactoryMethodName("newTestBean1"); @@ -1461,7 +1459,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testObjectProviderInjectionWithUnresolvedOrderedStream() { + void objectProviderInjectionWithUnresolvedOrderedStream() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class)); RootBeanDefinition tb1 = new RootBeanDefinition(TestBeanFactory.class); tb1.setFactoryMethodName("newTestBean1"); @@ -1480,7 +1478,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationRequiredFieldResourceInjection() { + void customAnnotationRequiredFieldResourceInjection() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1495,7 +1493,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationRequiredFieldResourceInjectionFailsWhenNoDependencyFound() { + void customAnnotationRequiredFieldResourceInjectionFailsWhenNoDependencyFound() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1507,7 +1505,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationRequiredFieldResourceInjectionFailsWhenMultipleDependenciesFound() { + void customAnnotationRequiredFieldResourceInjectionFailsWhenMultipleDependenciesFound() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1523,7 +1521,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationRequiredMethodResourceInjection() { + void customAnnotationRequiredMethodResourceInjection() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1538,7 +1536,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationRequiredMethodResourceInjectionFailsWhenNoDependencyFound() { + void customAnnotationRequiredMethodResourceInjectionFailsWhenNoDependencyFound() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1550,7 +1548,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationRequiredMethodResourceInjectionFailsWhenMultipleDependenciesFound() { + void customAnnotationRequiredMethodResourceInjectionFailsWhenMultipleDependenciesFound() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1566,7 +1564,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationOptionalFieldResourceInjection() { + void customAnnotationOptionalFieldResourceInjection() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1583,7 +1581,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationOptionalFieldResourceInjectionWhenNoDependencyFound() { + void customAnnotationOptionalFieldResourceInjectionWhenNoDependencyFound() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1598,7 +1596,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationOptionalFieldResourceInjectionWhenMultipleDependenciesFound() { + void customAnnotationOptionalFieldResourceInjectionWhenMultipleDependenciesFound() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1614,7 +1612,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationOptionalMethodResourceInjection() { + void customAnnotationOptionalMethodResourceInjection() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1631,7 +1629,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationOptionalMethodResourceInjectionWhenNoDependencyFound() { + void customAnnotationOptionalMethodResourceInjectionWhenNoDependencyFound() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1646,7 +1644,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCustomAnnotationOptionalMethodResourceInjectionWhenMultipleDependenciesFound() { + void customAnnotationOptionalMethodResourceInjectionWhenMultipleDependenciesFound() { bpp.setAutowiredAnnotationType(MyAutowired.class); bpp.setRequiredParameterName("optional"); bpp.setRequiredParameterValue(false); @@ -1669,7 +1667,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { * target="_blank">SPR-4040. */ @Test - public void testBeanAutowiredWithFactoryBean() { + void beanAutowiredWithFactoryBean() { bf.registerBeanDefinition("factoryBeanDependentBean", new RootBeanDefinition(FactoryBeanDependentBean.class)); bf.registerSingleton("stringFactoryBean", new StringFactoryBean()); @@ -1682,7 +1680,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testGenericsBasedFieldInjection() { + void genericsBasedFieldInjection() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1698,36 +1696,36 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryFieldInjectionBean bean = (RepositoryFieldInjectionBean) bf.getBean("annotatedBean"); assertThat(bean.string).isSameAs(sv); assertThat(bean.integer).isSameAs(iv); - assertThat(bean.stringArray.length).isSameAs(1); - assertThat(bean.integerArray.length).isSameAs(1); + assertThat(bean.stringArray).hasSize(1); + assertThat(bean.integerArray).hasSize(1); assertThat(bean.stringArray[0]).isSameAs(sv); assertThat(bean.integerArray[0]).isSameAs(iv); - assertThat(bean.stringList.size()).isSameAs(1); - assertThat(bean.integerList.size()).isSameAs(1); + assertThat(bean.stringList).hasSize(1); + assertThat(bean.integerList).hasSize(1); assertThat(bean.stringList.get(0)).isSameAs(sv); assertThat(bean.integerList.get(0)).isSameAs(iv); - assertThat(bean.stringMap.size()).isSameAs(1); - assertThat(bean.integerMap.size()).isSameAs(1); + assertThat(bean.stringMap).hasSize(1); + assertThat(bean.integerMap).hasSize(1); assertThat(bean.stringMap.get("stringValue")).isSameAs(sv); assertThat(bean.integerMap.get("integerValue")).isSameAs(iv); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ir); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ir); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("integerRepo")).isSameAs(ir); } @Test - public void testGenericsBasedFieldInjectionWithSubstitutedVariables() { + void genericsBasedFieldInjectionWithSubstitutedVariables() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSubstitutedVariables.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1743,36 +1741,36 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryFieldInjectionBeanWithSubstitutedVariables bean = (RepositoryFieldInjectionBeanWithSubstitutedVariables) bf.getBean("annotatedBean"); assertThat(bean.string).isSameAs(sv); assertThat(bean.integer).isSameAs(iv); - assertThat(bean.stringArray.length).isSameAs(1); - assertThat(bean.integerArray.length).isSameAs(1); + assertThat(bean.stringArray).hasSize(1); + assertThat(bean.integerArray).hasSize(1); assertThat(bean.stringArray[0]).isSameAs(sv); assertThat(bean.integerArray[0]).isSameAs(iv); - assertThat(bean.stringList.size()).isSameAs(1); - assertThat(bean.integerList.size()).isSameAs(1); + assertThat(bean.stringList).hasSize(1); + assertThat(bean.integerList).hasSize(1); assertThat(bean.stringList.get(0)).isSameAs(sv); assertThat(bean.integerList.get(0)).isSameAs(iv); - assertThat(bean.stringMap.size()).isSameAs(1); - assertThat(bean.integerMap.size()).isSameAs(1); + assertThat(bean.stringMap).hasSize(1); + assertThat(bean.integerMap).hasSize(1); assertThat(bean.stringMap.get("stringValue")).isSameAs(sv); assertThat(bean.integerMap.get("integerValue")).isSameAs(iv); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ir); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ir); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("integerRepo")).isSameAs(ir); } @Test - public void testGenericsBasedFieldInjectionWithQualifiers() { + void genericsBasedFieldInjectionWithQualifiers() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithQualifiers.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1784,22 +1782,22 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryFieldInjectionBeanWithQualifiers bean = (RepositoryFieldInjectionBeanWithQualifiers) bf.getBean("annotatedBean"); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ir); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ir); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("integerRepo")).isSameAs(ir); } @Test - public void testGenericsBasedFieldInjectionWithMocks() { + void genericsBasedFieldInjectionWithMocks() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithQualifiers.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1823,22 +1821,22 @@ public class AutowiredAnnotationBeanPostProcessorTests { Repository ir = bf.getBean("integerRepository", Repository.class); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ir); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ir); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("integerRepository")).isSameAs(ir); } @Test - public void testGenericsBasedFieldInjectionWithSimpleMatch() { + void genericsBasedFieldInjectionWithSimpleMatch() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1849,16 +1847,16 @@ public class AutowiredAnnotationBeanPostProcessorTests { Repository repo = bf.getBean("repo", Repository.class); assertThat(bean.repository).isSameAs(repo); assertThat(bean.stringRepository).isSameAs(repo); - assertThat(bean.repositoryArray.length).isSameAs(1); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); + assertThat(bean.repositoryArray).hasSize(1); + assertThat(bean.stringRepositoryArray).hasSize(1); assertThat(bean.repositoryArray[0]).isSameAs(repo); assertThat(bean.stringRepositoryArray[0]).isSameAs(repo); - assertThat(bean.repositoryList.size()).isSameAs(1); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); + assertThat(bean.repositoryList).hasSize(1); + assertThat(bean.stringRepositoryList).hasSize(1); assertThat(bean.repositoryList.get(0)).isSameAs(repo); assertThat(bean.stringRepositoryList.get(0)).isSameAs(repo); - assertThat(bean.repositoryMap.size()).isSameAs(1); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); + assertThat(bean.repositoryMap).hasSize(1); + assertThat(bean.stringRepositoryMap).hasSize(1); assertThat(bean.repositoryMap.get("repo")).isSameAs(repo); assertThat(bean.stringRepositoryMap.get("repo")).isSameAs(repo); @@ -1866,7 +1864,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testGenericsBasedFactoryBeanInjectionWithBeanDefinition() { + void genericsBasedFactoryBeanInjectionWithBeanDefinition() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1878,7 +1876,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testGenericsBasedFactoryBeanInjectionWithSingletonBean() { + void genericsBasedFactoryBeanInjectionWithSingletonBean() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFactoryBeanInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1890,7 +1888,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testGenericsBasedFieldInjectionWithSimpleMatchAndMock() { + void genericsBasedFieldInjectionWithSimpleMatchAndMock() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1907,22 +1905,22 @@ public class AutowiredAnnotationBeanPostProcessorTests { Repository repo = bf.getBean("repo", Repository.class); assertThat(bean.repository).isSameAs(repo); assertThat(bean.stringRepository).isSameAs(repo); - assertThat(bean.repositoryArray.length).isSameAs(1); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); + assertThat(bean.repositoryArray).hasSize(1); + assertThat(bean.stringRepositoryArray).hasSize(1); assertThat(bean.repositoryArray[0]).isSameAs(repo); assertThat(bean.stringRepositoryArray[0]).isSameAs(repo); - assertThat(bean.repositoryList.size()).isSameAs(1); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); + assertThat(bean.repositoryList).hasSize(1); + assertThat(bean.stringRepositoryList).hasSize(1); assertThat(bean.repositoryList.get(0)).isSameAs(repo); assertThat(bean.stringRepositoryList.get(0)).isSameAs(repo); - assertThat(bean.repositoryMap.size()).isSameAs(1); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); + assertThat(bean.repositoryMap).hasSize(1); + assertThat(bean.stringRepositoryMap).hasSize(1); assertThat(bean.repositoryMap.get("repo")).isSameAs(repo); assertThat(bean.stringRepositoryMap.get("repo")).isSameAs(repo); } @Test - public void testGenericsBasedFieldInjectionWithSimpleMatchAndMockito() { + void genericsBasedFieldInjectionWithSimpleMatchAndMockito() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryFieldInjectionBeanWithSimpleMatch.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1938,16 +1936,16 @@ public class AutowiredAnnotationBeanPostProcessorTests { Repository repo = bf.getBean("repo", Repository.class); assertThat(bean.repository).isSameAs(repo); assertThat(bean.stringRepository).isSameAs(repo); - assertThat(bean.repositoryArray.length).isSameAs(1); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); + assertThat(bean.repositoryArray).hasSize(1); + assertThat(bean.stringRepositoryArray).hasSize(1); assertThat(bean.repositoryArray[0]).isSameAs(repo); assertThat(bean.stringRepositoryArray[0]).isSameAs(repo); - assertThat(bean.repositoryList.size()).isSameAs(1); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); + assertThat(bean.repositoryList).hasSize(1); + assertThat(bean.stringRepositoryList).hasSize(1); assertThat(bean.repositoryList.get(0)).isSameAs(repo); assertThat(bean.stringRepositoryList.get(0)).isSameAs(repo); - assertThat(bean.repositoryMap.size()).isSameAs(1); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); + assertThat(bean.repositoryMap).hasSize(1); + assertThat(bean.stringRepositoryMap).hasSize(1); assertThat(bean.repositoryMap.get("repo")).isSameAs(repo); assertThat(bean.stringRepositoryMap.get("repo")).isSameAs(repo); } @@ -1962,7 +1960,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testGenericsBasedMethodInjection() { + void genericsBasedMethodInjection() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryMethodInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -1978,36 +1976,36 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryMethodInjectionBean bean = (RepositoryMethodInjectionBean) bf.getBean("annotatedBean"); assertThat(bean.string).isSameAs(sv); assertThat(bean.integer).isSameAs(iv); - assertThat(bean.stringArray.length).isSameAs(1); - assertThat(bean.integerArray.length).isSameAs(1); + assertThat(bean.stringArray).hasSize(1); + assertThat(bean.integerArray).hasSize(1); assertThat(bean.stringArray[0]).isSameAs(sv); assertThat(bean.integerArray[0]).isSameAs(iv); - assertThat(bean.stringList.size()).isSameAs(1); - assertThat(bean.integerList.size()).isSameAs(1); + assertThat(bean.stringList).hasSize(1); + assertThat(bean.integerList).hasSize(1); assertThat(bean.stringList.get(0)).isSameAs(sv); assertThat(bean.integerList.get(0)).isSameAs(iv); - assertThat(bean.stringMap.size()).isSameAs(1); - assertThat(bean.integerMap.size()).isSameAs(1); + assertThat(bean.stringMap).hasSize(1); + assertThat(bean.integerMap).hasSize(1); assertThat(bean.stringMap.get("stringValue")).isSameAs(sv); assertThat(bean.integerMap.get("integerValue")).isSameAs(iv); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ir); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ir); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("integerRepo")).isSameAs(ir); } @Test - public void testGenericsBasedMethodInjectionWithSubstitutedVariables() { + void genericsBasedMethodInjectionWithSubstitutedVariables() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryMethodInjectionBeanWithSubstitutedVariables.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -2023,36 +2021,36 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryMethodInjectionBeanWithSubstitutedVariables bean = (RepositoryMethodInjectionBeanWithSubstitutedVariables) bf.getBean("annotatedBean"); assertThat(bean.string).isSameAs(sv); assertThat(bean.integer).isSameAs(iv); - assertThat(bean.stringArray.length).isSameAs(1); - assertThat(bean.integerArray.length).isSameAs(1); + assertThat(bean.stringArray).hasSize(1); + assertThat(bean.integerArray).hasSize(1); assertThat(bean.stringArray[0]).isSameAs(sv); assertThat(bean.integerArray[0]).isSameAs(iv); - assertThat(bean.stringList.size()).isSameAs(1); - assertThat(bean.integerList.size()).isSameAs(1); + assertThat(bean.stringList).hasSize(1); + assertThat(bean.integerList).hasSize(1); assertThat(bean.stringList.get(0)).isSameAs(sv); assertThat(bean.integerList.get(0)).isSameAs(iv); - assertThat(bean.stringMap.size()).isSameAs(1); - assertThat(bean.integerMap.size()).isSameAs(1); + assertThat(bean.stringMap).hasSize(1); + assertThat(bean.integerMap).hasSize(1); assertThat(bean.stringMap.get("stringValue")).isSameAs(sv); assertThat(bean.integerMap.get("integerValue")).isSameAs(iv); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ir); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ir); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("integerRepo")).isSameAs(ir); } @Test - public void testGenericsBasedConstructorInjection() { + void genericsBasedConstructorInjection() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -2064,23 +2062,23 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ir); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ir); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("integerRepo")).isSameAs(ir); } @Test @SuppressWarnings("rawtypes") - public void testGenericsBasedConstructorInjectionWithNonTypedTarget() { + void genericsBasedConstructorInjectionWithNonTypedTarget() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -2090,22 +2088,22 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); assertThat(bean.stringRepository).isSameAs(gr); assertThat(bean.integerRepository).isSameAs(gr); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(gr); assertThat(bean.integerRepositoryArray[0]).isSameAs(gr); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(gr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(gr); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("genericRepo")).isSameAs(gr); assertThat(bean.integerRepositoryMap.get("genericRepo")).isSameAs(gr); } @Test - public void testGenericsBasedConstructorInjectionWithNonGenericTarget() { + void genericsBasedConstructorInjectionWithNonGenericTarget() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -2115,23 +2113,23 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); assertThat(bean.stringRepository).isSameAs(ngr); assertThat(bean.integerRepository).isSameAs(ngr); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(ngr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ngr); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(ngr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ngr); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("simpleRepo")).isSameAs(ngr); assertThat(bean.integerRepositoryMap.get("simpleRepo")).isSameAs(ngr); } @Test @SuppressWarnings("rawtypes") - public void testGenericsBasedConstructorInjectionWithMixedTargets() { + void genericsBasedConstructorInjectionWithMixedTargets() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -2143,22 +2141,22 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(gr); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(gr); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(gr); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("genericRepo")).isSameAs(gr); } @Test - public void testGenericsBasedConstructorInjectionWithMixedTargetsIncludingNonGeneric() { + void genericsBasedConstructorInjectionWithMixedTargetsIncludingNonGeneric() { RootBeanDefinition bd = new RootBeanDefinition(RepositoryConstructorInjectionBean.class); bd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("annotatedBean", bd); @@ -2170,23 +2168,23 @@ public class AutowiredAnnotationBeanPostProcessorTests { RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ngr); - assertThat(bean.stringRepositoryArray.length).isSameAs(1); - assertThat(bean.integerRepositoryArray.length).isSameAs(1); + assertThat(bean.stringRepositoryArray).hasSize(1); + assertThat(bean.integerRepositoryArray).hasSize(1); assertThat(bean.stringRepositoryArray[0]).isSameAs(sr); assertThat(bean.integerRepositoryArray[0]).isSameAs(ngr); - assertThat(bean.stringRepositoryList.size()).isSameAs(1); - assertThat(bean.integerRepositoryList.size()).isSameAs(1); + assertThat(bean.stringRepositoryList).hasSize(1); + assertThat(bean.integerRepositoryList).hasSize(1); assertThat(bean.stringRepositoryList.get(0)).isSameAs(sr); assertThat(bean.integerRepositoryList.get(0)).isSameAs(ngr); - assertThat(bean.stringRepositoryMap.size()).isSameAs(1); - assertThat(bean.integerRepositoryMap.size()).isSameAs(1); + assertThat(bean.stringRepositoryMap).hasSize(1); + assertThat(bean.integerRepositoryMap).hasSize(1); assertThat(bean.stringRepositoryMap.get("stringRepo")).isSameAs(sr); assertThat(bean.integerRepositoryMap.get("simpleRepo")).isSameAs(ngr); } @Test @SuppressWarnings("rawtypes") - public void testGenericsBasedInjectionIntoMatchingTypeVariable() { + void genericsBasedInjectionIntoMatchingTypeVariable() { RootBeanDefinition bd = new RootBeanDefinition(GenericInterface1Impl.class); bd.setFactoryMethodName("create"); bf.registerBeanDefinition("bean1", bd); @@ -2200,7 +2198,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { @Test @SuppressWarnings("rawtypes") - public void testGenericsBasedInjectionIntoUnresolvedTypeVariable() { + void genericsBasedInjectionIntoUnresolvedTypeVariable() { RootBeanDefinition bd = new RootBeanDefinition(GenericInterface1Impl.class); bd.setFactoryMethodName("createPlain"); bf.registerBeanDefinition("bean1", bd); @@ -2214,7 +2212,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { @Test @SuppressWarnings("rawtypes") - public void testGenericsBasedInjectionIntoTypeVariableSelectingBestMatch() { + void genericsBasedInjectionIntoTypeVariableSelectingBestMatch() { RootBeanDefinition bd = new RootBeanDefinition(GenericInterface1Impl.class); bd.setFactoryMethodName("create"); bf.registerBeanDefinition("bean1", bd); @@ -2232,7 +2230,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { @Test @Disabled // SPR-11521 @SuppressWarnings("rawtypes") - public void testGenericsBasedInjectionIntoTypeVariableSelectingBestMatchAgainstFactoryMethodSignature() { + void genericsBasedInjectionIntoTypeVariableSelectingBestMatchAgainstFactoryMethodSignature() { RootBeanDefinition bd = new RootBeanDefinition(GenericInterface1Impl.class); bd.setFactoryMethodName("createErased"); bf.registerBeanDefinition("bean1", bd); @@ -2246,7 +2244,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testGenericsBasedInjectionWithBeanDefinitionTargetResolvableType() { + void genericsBasedInjectionWithBeanDefinitionTargetResolvableType() { RootBeanDefinition bd1 = new RootBeanDefinition(GenericInterface2Bean.class); bd1.setTargetType(ResolvableType.forClassWithGenerics(GenericInterface2Bean.class, String.class)); bf.registerBeanDefinition("bean1", bd1); @@ -2261,7 +2259,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testCircularTypeReference() { + void circularTypeReference() { bf.registerBeanDefinition("bean1", new RootBeanDefinition(StockServiceImpl.class)); bf.registerBeanDefinition("bean2", new RootBeanDefinition(StockMovementDaoImpl.class)); bf.registerBeanDefinition("bean3", new RootBeanDefinition(StockMovementImpl.class)); @@ -2272,7 +2270,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testBridgeMethodHandling() { + void bridgeMethodHandling() { bf.registerBeanDefinition("bean1", new RootBeanDefinition(MyCallable.class)); bf.registerBeanDefinition("bean2", new RootBeanDefinition(SecondCallable.class)); bf.registerBeanDefinition("bean3", new RootBeanDefinition(FooBar.class)); @@ -2280,7 +2278,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testSingleConstructorWithProvidedArgument() { + void singleConstructorWithProvidedArgument() { RootBeanDefinition bd = new RootBeanDefinition(ProvidedArgumentBean.class); bd.getConstructorArgumentValues().addGenericArgumentValue(Collections.singletonList("value")); bf.registerBeanDefinition("beanWithArgs", bd); @@ -2288,14 +2286,14 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test - public void testAnnotatedDefaultConstructor() { + void annotatedDefaultConstructor() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(AnnotatedDefaultConstructorBean.class)); assertThat(bf.getBean("annotatedBean")).isNotNull(); } @Test // SPR-15125 - public void testFactoryBeanSelfInjection() { + void factoryBeanSelfInjection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectingFactoryBean.class)); SelfInjectingFactoryBean bean = bf.getBean(SelfInjectingFactoryBean.class); @@ -2303,7 +2301,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { } @Test // SPR-15125 - public void testFactoryBeanSelfInjectionViaFactoryMethod() { + void factoryBeanSelfInjectionViaFactoryMethod() { RootBeanDefinition bd = new RootBeanDefinition(SelfInjectingFactoryBean.class); bd.setFactoryMethodName("create"); bf.registerBeanDefinition("annotatedBean", bd);