2424import org .openrewrite .java .tree .JavaType ;
2525import org .openrewrite .marker .Marker ;
2626import org .openrewrite .marker .Markers ;
27- import org .openrewrite .maven .MavenSettings ;
2827import org .openrewrite .maven .tree .MavenResolutionResult ;
2928import org .openrewrite .maven .tree .ResolvedDependency ;
3029import org .openrewrite .maven .tree .Scope ;
@@ -237,7 +236,7 @@ static void verifyEqualSourceFileMarkers(SourceFile curExpectedSourceFile, Sourc
237236 }
238237
239238 static void compareMavenResolutionResultMarker (SoftAssertions softAssertions , MavenResolutionResult expected , MavenResolutionResult actual ) {
240- softAssertions . assertThat (actual )
239+ assertThat (actual )
241240 .usingRecursiveComparison ()
242241 .withEqualsForFieldsMatchingRegexes (
243242 customRepositoryEquals ("mavenSettings.localRepository" ),
@@ -260,6 +259,46 @@ static void compareMavenResolutionResultMarker(SoftAssertions softAssertions, Ma
260259
261260 // verify dependencies
262261 verifyEqualDependencies (softAssertions , expected , actual );
262+
263+ // parent.modules
264+ verifyEqualParentModules (softAssertions , expected , actual );
265+ }
266+
267+ private static void verifyEqualParentModules (SoftAssertions softAssertions , MavenResolutionResult expected , MavenResolutionResult actual ) {
268+ if (expected .getParent () == null ) {
269+ assertThat (actual .getParent ()).isNull ();
270+ return ;
271+ }
272+
273+
274+ List <MavenResolutionResult > actualParentModules = new ArrayList <>(actual .getParent ().getModules ());
275+ List <MavenResolutionResult > expectedParentModules = new ArrayList <>(expected .getParent ().getModules ());
276+ actualParentModules .sort (Comparator .comparing (o -> o .getPom ().getGav ().toString ()));
277+ expectedParentModules .sort (Comparator .comparing (o -> o .getPom ().getGav ().toString ()));
278+
279+ expectedParentModules .forEach (expectedModule -> {
280+ System .out .println (expectedModule .getPom ().getGav ());
281+ int index = expectedParentModules .indexOf (expectedModule );
282+ MavenResolutionResult actualModule = actualParentModules .get (index );
283+
284+ // compareMavenResolutionResultMarker(softAssertions, expectedModule, actualModule);
285+ assertThat (actualModule )
286+ .usingRecursiveComparison ()
287+ .ignoringFieldsOfTypes (UUID .class )
288+ .ignoringFields (
289+ "parent" ,
290+ "modules" ,
291+ "pom" ,
292+ "dependencies"
293+ )
294+ .withEqualsForFields (customRepositoryEquals ("mavenSettings.localRepository" ), "mavenSettings.localRepository" )
295+ .isEqualTo (expectedModule );
296+ // if(actualModule.getParent() != null) {
297+ // compareMavenResolutionResultMarker(softAssertions, actualModule.getParent(), expectedModule.getParent());
298+ // }
299+ //// compareMavenResolutionResultMarker(softAssertions, expectedModule, actualModule);
300+ //// verifyEqualParentModules(softAssertions, expectedModule, actualModule);
301+ });
263302 }
264303
265304 private static void verifyEqualDependencies (SoftAssertions softAssertions , MavenResolutionResult expected , MavenResolutionResult actual ) {
0 commit comments