Author: jdcasey
Date: Wed Jul 26 18:00:03 2006
New Revision: 425924

URL: http://svn.apache.org/viewvc?rev=425924&view=rev
Log:
[MNG-2314] Added unit tests to verify that this issue cannot be reproduced.

Modified:
    
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java

Modified: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java?rev=425924&r1=425923&r2=425924&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
 (original)
+++ 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
 Wed Jul 26 18:00:03 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()
     {


Reply via email to