You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/04/26 11:19:40 UTC

svn commit: r164769 - /maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java

Author: brett
Date: Tue Apr 26 02:19:39 2005
New Revision: 164769

URL: http://svn.apache.org/viewcvs?rev=164769&view=rev
Log:
add repository inheritence tests

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/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java?rev=164769&r1=164768&r2=164769&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 Tue Apr 26 02:19:39 2005
@@ -20,9 +20,13 @@
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
+import org.apache.maven.model.Repository;
 import org.apache.maven.model.Resource;
 import org.apache.maven.model.Scm;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -219,6 +223,50 @@
         assertScm( null, null, "http://bar/foo", child.getScm() );
     }
 
+    public void testRepositoryInheritenceWhereParentHasRepositoryAndTheChildDoesnt()
+    {
+        Model parent = makeRepositoryModel( "parent", "central", "http://repo1.maven.org/maven" );
+
+        List repos = new ArrayList( parent.getRepositories() );
+
+        Model child = makeBaseModel( "child" );
+
+        assembler.assembleModelInheritance( child, parent );
+
+        // TODO: a lot easier if modello generated equals() :)
+        assertRepositories( repos, child.getRepositories() );
+    }
+
+    public void testRepositoryInheritenceWhereParentHasRepositoryAndTheChildHasDifferent()
+    {
+        Model parent = makeRepositoryModel( "parent", "central", "http://repo1.maven.org/maven" );
+
+        List repos = new ArrayList( parent.getRepositories() );
+
+        Model child = makeRepositoryModel( "child", "workplace", "http://repository.mycompany.com/maven" );
+
+        repos.addAll( child.getRepositories() );
+
+        assembler.assembleModelInheritance( child, parent );
+
+        // TODO: a lot easier if modello generated equals() :)
+        assertRepositories( repos, child.getRepositories() );
+    }
+
+    public void testRepositoryInheritenceWhereParentHasRepositoryAndTheChildHasSameId()
+    {
+        Model parent = makeRepositoryModel( "parent", "central", "http://repo1.maven.org/maven" );
+
+        Model child = makeRepositoryModel( "child", "central", "http://repo2.maven.org/maven" );
+
+        List repos = new ArrayList( child.getRepositories() );
+
+        assembler.assembleModelInheritance( child, parent );
+
+        // TODO: a lot easier if modello generated equals() :)
+        assertRepositories( repos, child.getRepositories() );
+    }
+
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -249,22 +297,14 @@
         assertEquals( url, scm.getUrl() );
     }
 
-    private Model makeScmModel( String artifactId )
+    private static Model makeScmModel( String artifactId )
     {
         return makeScmModel( artifactId, null, null, null );
     }
 
-    private Model makeScmModel( String artifactId, String connection, String developerConnection, String url )
+    private static Model makeScmModel( String artifactId, String connection, String developerConnection, String url )
     {
-        Model model = new Model();
-
-        model.setModelVersion( "4.0.0" );
-
-        model.setGroupId( "maven" );
-
-        model.setArtifactId( artifactId );
-
-        model.setVersion( "1.0" );
+        Model model = makeBaseModel( artifactId );
 
         if ( connection != null || developerConnection != null || url != null )
         {
@@ -281,4 +321,54 @@
 
         return model;
     }
+
+    private static Model makeBaseModel( String artifactId )
+    {
+        Model model = new Model();
+
+        model.setModelVersion( "4.0.0" );
+
+        model.setGroupId( "maven" );
+
+        model.setArtifactId( artifactId );
+
+        model.setVersion( "1.0" );
+        return model;
+    }
+
+    private static Model makeRepositoryModel( String artifactId, String id, String url )
+    {
+        Model model = makeBaseModel( artifactId );
+
+        Repository repository = new Repository();
+        repository.setId( id );
+        repository.setUrl( url );
+
+        model.setRepositories( new ArrayList( Collections.singletonList( repository ) ) );
+
+        return model;
+    }
+
+    private void assertRepositories( List expected, List actual )
+    {
+        assertEquals( "Repository list sizes don't match", expected.size(), actual.size() );
+
+        for ( Iterator i = expected.iterator(); i.hasNext(); )
+        {
+            Repository expectedRepository = (Repository) i.next();
+            boolean found = false;
+            for ( Iterator j = actual.iterator(); j.hasNext() && !found; )
+            {
+                Repository actualRepository = (Repository) j.next();
+
+                if ( actualRepository.getId().equals( expectedRepository.getId() ) )
+                {
+                    assertEquals( "Repository URLs don't match", expectedRepository.getUrl(), actualRepository.getUrl() );
+                    found = true;
+                }
+            }
+            assertTrue( "Repository with ID " + expectedRepository.getId() + " not found", found );
+        }
+    }
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org