jvanzyl     01/08/26 10:59:32

  Modified:    jjar/src/test/org/apache/commons/jjar
                        TestDependencyEngine.java
  Log:
  - now have tests for
    - cookielist
    - single project dep list where target is not include (jjar)
    - multi project dep list where targets are included (maven)
    - reseting the dep engine
  
  Revision  Changes    Path
  1.3       +74 -52    
jakarta-commons-sandbox/jjar/src/test/org/apache/commons/jjar/TestDependencyEngine.java
  
  Index: TestDependencyEngine.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/jjar/src/test/org/apache/commons/jjar/TestDependencyEngine.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestDependencyEngine.java 2001/08/26 17:07:14     1.2
  +++ TestDependencyEngine.java 2001/08/26 17:59:32     1.3
  @@ -10,7 +10,7 @@
   
   /**
    * @author <a href="mailto:[EMAIL PROTECTED]";>Jason van Zyl</a>
  - * @version $Id: TestDependencyEngine.java,v 1.2 2001/08/26 17:07:14 jvanzyl Exp $
  + * @version $Id: TestDependencyEngine.java,v 1.3 2001/08/26 17:59:32 jvanzyl Exp $
    */
   public class TestDependencyEngine 
       extends TestCase
  @@ -38,14 +38,14 @@
           d = new DependencyEngine();
       }
       
  -    public void testProjectDependencies()
  +    public void testCookieList()
       {
           String compare = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
           
           try
           {
               addAlphabetProjects(d);            
  -            assertEquals(compare,getCookieListString(d));
  +            assertEquals(compare,getList(d.generateCookielist()));
           }
           catch(Exception e)
           {
  @@ -61,7 +61,7 @@
           {
               addAlphabetProjects(d);
               d.reset();
  -            assertEquals(compare,getCookieListString(d));
  +            assertEquals(compare,getList(d.generateCookielist()));
           }
           catch(Exception e)
           {
  @@ -69,6 +69,72 @@
           }
       }
   
  +    public void testSingleProjectDependency()
  +    {
  +         // tests the engine with
  +         // 
  +         //  A  B  C
  +         //  ^  ^  ^\ 
  +         //   \/ \/  |
  +         //   D <-E  |
  +         //   ^      /
  +         //    \    /
  +         //     F <-
  +        
  +        String compare = "ABD";
  +        
  +        try
  +        {
  +            d.reset();
  +            d.addProject("A", deps(null));
  +            d.addProject("B", deps(null));
  +            d.addProject("C", deps("F"));
  +            d.addProject("D", deps("A,B"));
  +            d.addProject("E", deps("B,C,D"));
  +            d.addProject("F", deps("D"));
  +            
  +            // Get the dependencies where we exclude the
  +            // specified target.
  +            assertEquals(compare,getList(d.getDependencies("F")));
  +
  +        }
  +        catch( Exception e )
  +        {
  +            fail();
  +        }
  +    }
  +
  +    public void testMultiProjectDependency()
  +    {
  +        String compare = "12BCDA3";
  +        
  +        try
  +        {
  +            d.reset();
  +            d.addProject("A", deps("B,C,D"));
  +            d.addProject("B", deps("1,2"));
  +            d.addProject("C", deps(null));
  +            d.addProject("D", deps(null));
  +            d.addProject("1", deps(null));
  +            d.addProject("2", deps(null));
  +            d.addProject("3", deps("C"));
  +            
  +            ArrayList projects = new ArrayList();
  +            projects.add("A");
  +            projects.add("3");
  +            
  +            // We do not want to exclude the target. This is simulating
  +            // maven where all dependencies are built including the
  +            // target package.
  +            assertEquals(compare,getList(d.getDependencies(projects, false)));
  +
  +        }
  +        catch( Exception e )
  +        {
  +            fail();
  +        }
  +    }
  +
       private void addAlphabetProjects(DependencyEngine d)
           throws Exception
       {
  @@ -99,32 +165,16 @@
           d.addProject( "B", deps("A"));
           d.addProject( "A", deps(null));
       }
  -
  -    private String getCookieListString(DependencyEngine d)
  -        throws Exception
  -    {
  -        StringBuffer sb = new StringBuffer();
  -        List depList = d.generateCookielist();
  -        Iterator i = depList.iterator();
  -
  -        while(i.hasNext())
  -        {
  -            sb.append((String) i.next());
  -        }
  -        
  -        return sb.toString();
  -    }
   
  -    private String getDependencyString(DependencyEngine d, List projects)
  +    private String getList(List list)
           throws Exception
       {
           StringBuffer sb = new StringBuffer();
  -        List depList = d.getDependencies(projects);
  -        Iterator i = depList.iterator();
  -
  +        Iterator i = list.iterator();
           while(i.hasNext())
           {
  -            sb.append((String) i.next());
  +            String item = (String) i.next();
  +            sb.append(item);
           }
           
           return sb.toString();
  @@ -146,32 +196,4 @@
           
           return deps;
       }        
  -
  -    public void testMultiProjectDependency()
  -    {
  -        String compare = "12BCD3A";
  -        
  -        try
  -        {
  -            d.reset();
  -            d.addProject("A", deps("B,C,D"));
  -            d.addProject("B", deps("1,2"));
  -            d.addProject("C", deps(null));
  -            d.addProject("D", deps(null));
  -            d.addProject("1", deps(null));
  -            d.addProject("2", deps(null));
  -            d.addProject("3", deps("C"));
  -            
  -            ArrayList projects = new ArrayList();
  -            projects.add("A");
  -            projects.add("3");
  -            
  -            assertEquals(compare,getDependencyString(d, projects));
  -
  -        }
  -        catch( Exception e )
  -        {
  -            fail();
  -        }
  -    }
   }
  
  
  

Reply via email to