Author: jdcasey Date: Wed Jul 26 18:01:17 2006 New Revision: 425925 URL: http://svn.apache.org/viewvc?rev=425925&view=rev Log: [MNG-2314] Merging new unit tests for inheritance assembler from 425924 on trunk.
Modified: maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java Modified: maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java?rev=425925&r1=425924&r2=425925&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java (original) +++ maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java Wed Jul 26 18:01:17 2006 @@ -18,6 +18,8 @@ import junit.framework.TestCase; import org.apache.maven.model.Build; +import org.apache.maven.model.Dependency; +import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.DistributionManagement; import org.apache.maven.model.Model; @@ -47,6 +49,85 @@ extends TestCase { private ModelInheritanceAssembler assembler = new DefaultModelInheritanceAssembler(); + + public void testShouldMergeSuccessiveDependencyManagementSectionsOverThreeLevels() + { + Model top = makeBaseModel( "top" ); + + DependencyManagement topMgmt = new DependencyManagement(); + + topMgmt.addDependency( makeDep( "top-dep" ) ); + + top.setDependencyManagement( topMgmt ); + + Model mid = makeBaseModel( "mid" ); + + DependencyManagement midMgmt = new DependencyManagement(); + + midMgmt.addDependency( makeDep( "mid-dep" ) ); + + mid.setDependencyManagement( midMgmt ); + + Model bottom = makeBaseModel( "bottom" ); + + DependencyManagement bottomMgmt = new DependencyManagement(); + + bottomMgmt.addDependency( makeDep( "bottom-dep" ) ); + + bottom.setDependencyManagement( bottomMgmt ); + + assembler.assembleModelInheritance( mid, top ); + + assembler.assembleModelInheritance( bottom, mid ); + + DependencyManagement result = bottom.getDependencyManagement(); + + List resultDeps = result.getDependencies(); + + assertEquals( 3, resultDeps.size() ); + } + + public void testShouldMergeDependencyManagementSectionsFromTopTwoLevelsToBottomLevel() + { + Model top = makeBaseModel( "top" ); + + DependencyManagement topMgmt = new DependencyManagement(); + + topMgmt.addDependency( makeDep( "top-dep" ) ); + + top.setDependencyManagement( topMgmt ); + + Model mid = makeBaseModel( "mid" ); + + DependencyManagement midMgmt = new DependencyManagement(); + + midMgmt.addDependency( makeDep( "mid-dep" ) ); + + mid.setDependencyManagement( midMgmt ); + + Model bottom = makeBaseModel( "bottom" ); + + assembler.assembleModelInheritance( mid, top ); + + assembler.assembleModelInheritance( bottom, mid ); + + DependencyManagement result = bottom.getDependencyManagement(); + + List resultDeps = result.getDependencies(); + + assertEquals( 2, resultDeps.size() ); + } + + private Dependency makeDep( String artifactId ) + { + Dependency dep = new Dependency(); + + dep.setGroupId( "maven" ); + dep.setArtifactId( artifactId ); + dep.setVersion( "1.0" ); + + return dep; + } public void testShouldAppendChildPathAdjustmentWithNoChildPartAndNoParentPart() {