|
|
|
|
@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test;
@@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test;
|
|
|
|
|
|
|
|
|
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext; |
|
|
|
|
import org.springframework.context.annotation.Bean; |
|
|
|
|
import org.springframework.context.annotation.ComponentScan; |
|
|
|
|
import org.springframework.context.annotation.Configuration; |
|
|
|
|
import org.springframework.context.annotation.Import; |
|
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
@ -74,6 +75,20 @@ class ImportsContextCustomizerFactoryTests {
@@ -74,6 +75,20 @@ class ImportsContextCustomizerFactoryTests {
|
|
|
|
|
assertThat(customizer3).isEqualTo(customizer4); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void contextCustomizerEqualsAndHashCodeConsidersComponentScan() { |
|
|
|
|
ContextCustomizer customizer1 = this.factory |
|
|
|
|
.createContextCustomizer(TestWithImportAndComponentScanOfSomePackage.class, null); |
|
|
|
|
ContextCustomizer customizer2 = this.factory |
|
|
|
|
.createContextCustomizer(TestWithImportAndComponentScanOfSomePackage.class, null); |
|
|
|
|
ContextCustomizer customizer3 = this.factory |
|
|
|
|
.createContextCustomizer(TestWithImportAndComponentScanOfAnotherPackage.class, null); |
|
|
|
|
assertThat(customizer1.hashCode()).isEqualTo(customizer2.hashCode()); |
|
|
|
|
assertThat(customizer1).isEqualTo(customizer2); |
|
|
|
|
assertThat(customizer3.hashCode()).isNotEqualTo(customizer2.hashCode()).isNotEqualTo(customizer1.hashCode()); |
|
|
|
|
assertThat(customizer3).isNotEqualTo(customizer2).isNotEqualTo(customizer1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void getContextCustomizerWhenClassHasBeanMethodsShouldThrowException() { |
|
|
|
|
assertThatIllegalStateException() |
|
|
|
|
@ -105,6 +120,18 @@ class ImportsContextCustomizerFactoryTests {
@@ -105,6 +120,18 @@ class ImportsContextCustomizerFactoryTests {
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Import(ImportedBean.class) |
|
|
|
|
@ComponentScan("some.package") |
|
|
|
|
static class TestWithImportAndComponentScanOfSomePackage { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Import(ImportedBean.class) |
|
|
|
|
@ComponentScan("another.package") |
|
|
|
|
static class TestWithImportAndComponentScanOfAnotherPackage { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@MetaImport |
|
|
|
|
static class TestWithMetaImport { |
|
|
|
|
|
|
|
|
|
|