@@ -18,89 +18,92 @@ class ClassScannerUtilTest {
1818 private static final String OTHER_PACKAGE = "it.aboutbits.springboot.toolbox.util" ;
1919
2020 @ Nested
21- class GetSubTypesOf {
22- @ Test
23- @ DisplayName ("Should find concrete and abstract subtypes of an interface" )
24- void shouldFindConcreteAndAbstractSubtypesOfInterface () {
25- // given
26- var scanner = ClassScannerUtil .getScannerForPackages (FIXTURES_PACKAGE );
27-
28- // when
29- var result = scanner .getSubTypesOf (ScanTestInterface .class );
30-
31- // then
32- assertThat (result ).containsExactlyInAnyOrder (ScanTestConcreteImpl .class , ScanTestAbstractImpl .class );
21+ class ClassScanner {
22+ @ Nested
23+ class GetSubTypesOf {
24+ @ Test
25+ @ DisplayName ("Should find concrete and abstract subtypes of an interface" )
26+ void shouldFindConcreteAndAbstractSubtypesOfInterface () {
27+ // given
28+ var scanner = ClassScannerUtil .getScannerForPackages (FIXTURES_PACKAGE );
29+
30+ // when
31+ var result = scanner .getSubTypesOf (ScanTestInterface .class );
32+
33+ // then
34+ assertThat (result ).containsExactlyInAnyOrder (ScanTestConcreteImpl .class , ScanTestAbstractImpl .class );
35+ }
36+
37+ @ Test
38+ @ DisplayName ("Should not include the target interface itself" )
39+ void shouldNotIncludeTargetInterfaceItself () {
40+ // given
41+ var scanner = ClassScannerUtil .getScannerForPackages (FIXTURES_PACKAGE );
42+
43+ // when
44+ var result = scanner .getSubTypesOf (ScanTestInterface .class );
45+
46+ // then
47+ assertThat (result ).doesNotContain (ScanTestInterface .class );
48+ }
49+
50+ @ Test
51+ @ DisplayName ("Should return empty set when no subtypes exist in scanned package" )
52+ void shouldReturnEmptySetWhenNoSubtypesExistInScannedPackage () {
53+ // given
54+ var scanner = ClassScannerUtil .getScannerForPackages (OTHER_PACKAGE );
55+
56+ // when
57+ var result = scanner .getSubTypesOf (ScanTestInterface .class );
58+
59+ // then
60+ assertThat (result ).isEmpty ();
61+ }
3362 }
3463
35- @ Test
36- @ DisplayName ("Should not include the target interface itself" )
37- void shouldNotIncludeTargetInterfaceItself () {
38- // given
39- var scanner = ClassScannerUtil .getScannerForPackages (FIXTURES_PACKAGE );
40-
41- // when
42- var result = scanner .getSubTypesOf (ScanTestInterface .class );
43-
44- // then
45- assertThat (result ).doesNotContain (ScanTestInterface .class );
46- }
47-
48- @ Test
49- @ DisplayName ("Should return empty set when no subtypes exist in scanned package" )
50- void shouldReturnEmptySetWhenNoSubtypesExistInScannedPackage () {
51- // given
52- var scanner = ClassScannerUtil .getScannerForPackages (OTHER_PACKAGE );
53-
54- // when
55- var result = scanner .getSubTypesOf (ScanTestInterface .class );
56-
57- // then
58- assertThat (result ).isEmpty ();
59- }
60- }
61-
62- @ Nested
63- class GetClassesAnnotatedWith {
64- @ Test
65- @ DisplayName ("Should find classes annotated with the given annotation" )
66- void shouldFindClassesAnnotatedWithGivenAnnotation () {
67- // given
68- var scanner = ClassScannerUtil .getScannerForPackages (FIXTURES_PACKAGE );
69-
70- // when
71- var result = scanner .getClassesAnnotatedWith (ScanTestAnnotation .class );
72-
73- // then
74- assertThat (result ).containsExactly (ScanTestAnnotatedClass .class );
64+ @ Nested
65+ class GetClassesAnnotatedWith {
66+ @ Test
67+ @ DisplayName ("Should find classes annotated with the given annotation" )
68+ void shouldFindClassesAnnotatedWithGivenAnnotation () {
69+ // given
70+ var scanner = ClassScannerUtil .getScannerForPackages (FIXTURES_PACKAGE );
71+
72+ // when
73+ var result = scanner .getClassesAnnotatedWith (ScanTestAnnotation .class );
74+
75+ // then
76+ assertThat (result ).containsExactly (ScanTestAnnotatedClass .class );
77+ }
78+
79+ @ Test
80+ @ DisplayName ("Should return empty set when no annotated classes exist in scanned package" )
81+ void shouldReturnEmptySetWhenNoAnnotatedClassesExistInScannedPackage () {
82+ // given
83+ var scanner = ClassScannerUtil .getScannerForPackages (OTHER_PACKAGE );
84+
85+ // when
86+ var result = scanner .getClassesAnnotatedWith (ScanTestAnnotation .class );
87+
88+ // then
89+ assertThat (result ).isEmpty ();
90+ }
7591 }
7692
77- @ Test
78- @ DisplayName ("Should return empty set when no annotated classes exist in scanned package" )
79- void shouldReturnEmptySetWhenNoAnnotatedClassesExistInScannedPackage () {
80- // given
81- var scanner = ClassScannerUtil .getScannerForPackages (OTHER_PACKAGE );
93+ @ Nested
94+ class GetScannedPackages {
95+ @ Test
96+ @ DisplayName ("Should return the packages provided at construction" )
97+ void shouldReturnPackagesProvidedAtConstruction () {
98+ // given
99+ var scanner = ClassScannerUtil .getScannerForPackages (FIXTURES_PACKAGE , OTHER_PACKAGE );
82100
83- // when
84- var result = scanner .getClassesAnnotatedWith ( ScanTestAnnotation . class );
101+ // when
102+ var result = scanner .getScannedPackages ( );
85103
86- // then
87- assertThat (result ).isEmpty ();
88- }
89- }
90-
91- @ Nested
92- class GetScannedPackages {
93- @ Test
94- @ DisplayName ("Should return the packages provided at construction" )
95- void shouldReturnPackagesProvidedAtConstruction () {
96- // given
97- var scanner = ClassScannerUtil .getScannerForPackages (FIXTURES_PACKAGE , OTHER_PACKAGE );
98-
99- // when
100- var result = scanner .getScannedPackages ();
101-
102- // then
103- assertThat (result ).containsExactlyInAnyOrder (FIXTURES_PACKAGE , OTHER_PACKAGE );
104+ // then
105+ assertThat (result ).containsExactlyInAnyOrder (FIXTURES_PACKAGE , OTHER_PACKAGE );
106+ }
104107 }
105108 }
106109}
0 commit comments