Polishing

This commit is contained in:
Sam Brannen
2024-02-23 13:18:09 +01:00
parent eab1a3dc6b
commit c2d2e99c2f

View File

@@ -58,8 +58,7 @@ class BeanMethodQualificationTests {
@Test @Test
void standard() { void standard() {
AnnotationConfigApplicationContext ctx = AnnotationConfigApplicationContext ctx = context(StandardConfig.class, StandardPojo.class);
new AnnotationConfigApplicationContext(StandardConfig.class, StandardPojo.class);
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
StandardPojo pojo = ctx.getBean(StandardPojo.class); StandardPojo pojo = ctx.getBean(StandardPojo.class);
@@ -71,8 +70,7 @@ class BeanMethodQualificationTests {
@Test @Test
void scoped() { void scoped() {
AnnotationConfigApplicationContext ctx = AnnotationConfigApplicationContext ctx = context(ScopedConfig.class, StandardPojo.class);
new AnnotationConfigApplicationContext(ScopedConfig.class, StandardPojo.class);
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
StandardPojo pojo = ctx.getBean(StandardPojo.class); StandardPojo pojo = ctx.getBean(StandardPojo.class);
@@ -84,8 +82,7 @@ class BeanMethodQualificationTests {
@Test @Test
void scopedProxy() { void scopedProxy() {
AnnotationConfigApplicationContext ctx = AnnotationConfigApplicationContext ctx = context(ScopedProxyConfig.class, StandardPojo.class);
new AnnotationConfigApplicationContext(ScopedProxyConfig.class, StandardPojo.class);
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isTrue(); // a shared scoped proxy assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isTrue(); // a shared scoped proxy
StandardPojo pojo = ctx.getBean(StandardPojo.class); StandardPojo pojo = ctx.getBean(StandardPojo.class);
@@ -99,8 +96,7 @@ class BeanMethodQualificationTests {
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = {PrimaryConfig.class, FallbackConfig.class}) @ValueSource(classes = {PrimaryConfig.class, FallbackConfig.class})
void primaryVersusFallback(Class<?> configClass) { void primaryVersusFallback(Class<?> configClass) {
AnnotationConfigApplicationContext ctx = AnnotationConfigApplicationContext ctx = context(configClass, StandardPojo.class, ConstructorPojo.class);
new AnnotationConfigApplicationContext(configClass, StandardPojo.class, ConstructorPojo.class);
StandardPojo pojo = ctx.getBean(StandardPojo.class); StandardPojo pojo = ctx.getBean(StandardPojo.class);
assertThat(pojo.testBean.getName()).isEqualTo("interesting"); assertThat(pojo.testBean.getName()).isEqualTo("interesting");
@@ -122,13 +118,12 @@ class BeanMethodQualificationTests {
@Test @Test
void customWithLazyResolution() { void customWithLazyResolution() {
AnnotationConfigApplicationContext ctx = AnnotationConfigApplicationContext ctx = context(CustomConfig.class, CustomPojo.class);
new AnnotationConfigApplicationContext(CustomConfig.class, CustomPojo.class);
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse();
assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"), assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
"testBean2", ctx.getDefaultListableBeanFactory())).isTrue(); "testBean2", ctx.getDefaultListableBeanFactory())).isTrue();
CustomPojo pojo = ctx.getBean(CustomPojo.class); CustomPojo pojo = ctx.getBean(CustomPojo.class);
assertThat(pojo.plainBean).isNull(); assertThat(pojo.plainBean).isNull();
@@ -143,15 +138,13 @@ class BeanMethodQualificationTests {
@Test @Test
void customWithEarlyResolution() { void customWithEarlyResolution() {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); AnnotationConfigApplicationContext ctx = context(CustomConfig.class, CustomPojo.class);
ctx.register(CustomConfig.class, CustomPojo.class);
ctx.refresh();
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse();
ctx.getBean("testBean2"); ctx.getBean("testBean2");
assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"), assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
"testBean2", ctx.getDefaultListableBeanFactory())).isTrue(); "testBean2", ctx.getDefaultListableBeanFactory())).isTrue();
CustomPojo pojo = ctx.getBean(CustomPojo.class); CustomPojo pojo = ctx.getBean(CustomPojo.class);
assertThat(pojo.testBean.getName()).isEqualTo("interesting"); assertThat(pojo.testBean.getName()).isEqualTo("interesting");
@@ -178,8 +171,7 @@ class BeanMethodQualificationTests {
@Test @Test
void customWithAttributeOverride() { void customWithAttributeOverride() {
AnnotationConfigApplicationContext ctx = AnnotationConfigApplicationContext ctx = context(CustomConfigWithAttributeOverride.class, CustomPojo.class);
new AnnotationConfigApplicationContext(CustomConfigWithAttributeOverride.class, CustomPojo.class);
assertThat(ctx.getBeanFactory().containsSingleton("testBeanX")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBeanX")).isFalse();
CustomPojo pojo = ctx.getBean(CustomPojo.class); CustomPojo pojo = ctx.getBean(CustomPojo.class);
@@ -192,16 +184,14 @@ class BeanMethodQualificationTests {
@Test @Test
void beanNamesForAnnotation() { void beanNamesForAnnotation() {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(StandardConfig.class); AnnotationConfigApplicationContext ctx = context(StandardConfig.class);
assertThat(ctx.getBeanNamesForAnnotation(Configuration.class)).isEqualTo( assertThat(ctx.getBeanNamesForAnnotation(Configuration.class))
new String[] {"beanMethodQualificationTests.StandardConfig"}); .containsExactly("beanMethodQualificationTests.StandardConfig");
assertThat(ctx.getBeanNamesForAnnotation(Scope.class)).isEqualTo( assertThat(ctx.getBeanNamesForAnnotation(Scope.class)).isEmpty();
new String[] {}); assertThat(ctx.getBeanNamesForAnnotation(Lazy.class)).containsExactly("testBean1");
assertThat(ctx.getBeanNamesForAnnotation(Lazy.class)).isEqualTo( assertThat(ctx.getBeanNamesForAnnotation(Boring.class))
new String[] {"testBean1"}); .containsExactly("beanMethodQualificationTests.StandardConfig", "testBean2");
assertThat(ctx.getBeanNamesForAnnotation(Boring.class)).isEqualTo(
new String[] {"beanMethodQualificationTests.StandardConfig", "testBean2"});
ctx.close(); ctx.close();
} }
@@ -433,4 +423,8 @@ class BeanMethodQualificationTests {
@interface InterestingPojo { @interface InterestingPojo {
} }
private static AnnotationConfigApplicationContext context(Class<?>... componentClasses) {
return new AnnotationConfigApplicationContext(componentClasses);
}
} }