26
26
import static org .assertj .core .api .Assertions .assertThat ;
27
27
import static org .assertj .core .api .Assertions .assertThatIllegalArgumentException ;
28
28
29
- class Module_getModuleResources_Test {
29
+ class Module_contains_Test {
30
30
@ Test
31
31
void singleModuleProject () {
32
32
String rootPom = PomBuilder
@@ -78,6 +78,9 @@ void multiModuleProject() {
78
78
79
79
String module2Pom = PomBuilder .buiildPom ("com.example:parent:1.0" , "module2" ).build ();
80
80
81
+ String moduleInModule1Pom = PomBuilder .buiildPom ("com.example:parent:1.0" , "module-in-module1" ).build ();
82
+
83
+
81
84
String javaClass = """
82
85
package com.example;
83
86
public class SomeClass {}
@@ -86,35 +89,51 @@ public class SomeClass {}
86
89
package com.example;
87
90
public class SomeClassTest {}
88
91
""" ;
92
+
93
+ // shares module path of module1 and module1/module-in-module1
94
+ String sourcePathString = "module1/module-in-module1/src/main/resources/module-in-module1.txt" ;
95
+
89
96
ProjectContext context = TestProjectContext
90
97
.buildProjectContext ()
98
+ // parent module
99
+ .withMavenBuildFileSource ("pom.xml" , rootPom )
100
+ .addProjectResource ("not-in-source-set.txt" , "" )
101
+ // module1
91
102
.withMavenBuildFileSource ("module1/pom.xml" , module1Pom )
92
103
.addJavaSource ("module1/src/test/java" , testjavaClass )
93
104
.addProjectResource ("module1/src/test/resources/test-resource-found.txt" , "" )
94
-
105
+ // module-in-module1
106
+ .withMavenBuildFileSource ("module1/module-in-module1/pom.xml" , moduleInModule1Pom )
107
+ .addProjectResource (sourcePathString , "" )
108
+ // module2
95
109
.withMavenBuildFileSource ("module2/pom.xml" , module2Pom )
96
110
.addJavaSource ("module2/src/main/java" , javaClass )
97
111
.addProjectResource ("module2/src/main/resources/resource-found.txt" , "" )
98
112
99
- .withMavenBuildFileSource ("pom.xml" , rootPom )
100
- .addProjectResource ("not-in-source-set.txt" , "" )
101
-
102
-
103
113
.build ();
104
114
105
115
Module root = context .getApplicationModules ().getModule ("root" );
106
116
Path rootPath = TestProjectContext .getDefaultProjectRoot ();
107
117
assertThat (root .contains (rootPath .resolve ("pom.xml" ))).isTrue ();
108
118
assertThat (root .contains (rootPath .resolve ("src/main/java/com/example/SomeClass.java" ))).isFalse ();
119
+ assertThat (root .contains (rootPath .resolve ("not-in-source-set.txt" ))).isFalse ();
109
120
110
- Module module1 = context .getApplicationModules ().getModule ("module2 " );
121
+ Module module1 = context .getApplicationModules ().getModule ("module1 " );
111
122
112
- assertThat (module1 .contains (rootPath .resolve ("module2//main/java/com/example/SomeClass.java" ))).isFalse ();
113
- assertThat (
114
- module1 .contains (rootPath .resolve ("module2/src/test/java/com/example/SomeClassTest.java" ))).isFalse ();
115
- assertThat (module1 .contains (rootPath .resolve ("module2/src/main/resources/resource-found.txt" ))).isTrue ();
116
- assertThat (root .contains (rootPath .resolve ("src/test/resources/test-resource-found.txt" ))).isFalse ();
117
- assertThat (root .contains (rootPath .resolve ("not-in-source-set.txt" ))).isFalse ();
123
+ // precondition
124
+ Path resourceInSubmodule = rootPath .resolve (sourcePathString );
125
+ assertThat (context .getProjectResources ().stream ().anyMatch (r -> r .getAbsolutePath ().equals (resourceInSubmodule ))).isTrue ();
126
+
127
+ assertThat (module1 .contains (rootPath .resolve (sourcePathString ))).isFalse ();
128
+ Module moduleInModule1 = context .getApplicationModules ().getModule ("module1/module-in-module1" );
129
+ assertThat (moduleInModule1 .contains (resourceInSubmodule )).isTrue ();
130
+
131
+ assertThat (module1 .contains (rootPath .resolve ("module1/src/test/java/com/example/SomeClassTest.java" ))).isTrue ();
132
+ assertThat (module1 .contains (rootPath .resolve ("module1/src/test/resources/test-resource-found.txt" ))).isTrue ();
133
+
134
+ Module module2 = context .getApplicationModules ().getModule ("module2" );
135
+ assertThat (module2 .contains (rootPath .resolve ("module2/main/java/com/example/SomeClass.java" ))).isFalse ();
136
+ assertThat (module2 .contains (rootPath .resolve ("module2/src/main/resources/resource-found.txt" ))).isTrue ();
118
137
}
119
138
120
139
@ Test
0 commit comments