tbennett    2004/04/20 23:45:13

  Modified:    
composition/impl/src/test/org/apache/avalon/composition/model/impl/fileset
                        FilesetModelTestCase.java
  Log:
  more unit tests
  
  Revision  Changes    Path
  1.3       +146 -4    
avalon/composition/impl/src/test/org/apache/avalon/composition/model/impl/fileset/FilesetModelTestCase.java
  
  Index: FilesetModelTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/avalon/composition/impl/src/test/org/apache/avalon/composition/model/impl/fileset/FilesetModelTestCase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FilesetModelTestCase.java 21 Apr 2004 06:21:09 -0000      1.2
  +++ FilesetModelTestCase.java 21 Apr 2004 06:45:13 -0000      1.3
  @@ -166,11 +166,12 @@
        *          <include name="*.jar/>
        *      </fileset>
        *
  -     * should return all the files ind my-dir with the
  +     * should return all the files in my-dir with the
        * .jar extension.
        */
  -    public void testWildcardIncludes() throws Exception {
  -        // testing a include directive = "*.jar"
  +    public void testWildcardIncludes() throws Exception
  +    {
  +        // testing an include directive = "*.jar"
           IncludeDirective[] includes = new IncludeDirective[1];
           includes[0] = new IncludeDirective( "*.jar" );
   
  @@ -194,9 +195,150 @@
           {
                m_model.resolveFileset();
               ArrayList list = m_model.getIncludes();
  -            if ( list.size() < 4 )
  +            if ( list.size() != 4 )
               {
                   fail( "The include set returned did not equal 4 (four) 
entries" );
  +            }
  +            for ( int i = 0; i < list.size(); i++ )
  +            {
  +                File file = (File) list.get( i );
  +                if ( !file.isFile() )
  +                {
  +                    fail( "One of the included entries is not a file" );
  +                }
  +                if ( !file.getName().endsWith( "jar" ) )
  +                {
  +                    fail( "One of the included file entries does not have a 
.jar extension" );
  +                }
  +            }
  +        }
  +        catch( IllegalStateException ise )
  +        {
  +            fail( "The exception thrown was an " + ise.getClass().getName() 
);
  +        }
  +        catch( IOException ioe )
  +        {
  +            fail( "The exception thrown was an " + ioe.getClass().getName() 
);
  +        }
  +        catch( Exception e )
  +        {
  +            fail( "The exception thrown was " + e.getClass().getName() );
  +        }
  +    }
  +
  +    /**
  +     * A fileset directive of:
  +     *
  +     *      <fileset dir="my-dir">
  +     *          <include name="*.jar/>
  +     *          <exclude name="test*.jar/>
  +     *      </fileset>
  +     *
  +     * should return all the files in my-dir with the
  +     * .jar extension with the exception of jar files
  +     * whose filename begins with "test".
  +     */
  +    public void testIncludeExcludes() throws Exception
  +    {
  +        // testing an include directive = "*.jar"
  +        IncludeDirective[] includes = new IncludeDirective[1];
  +        includes[0] = new IncludeDirective( "*.jar" );
  +
  +        // testing an exclude directive = "test*.jar"
  +        ExcludeDirective[] excludes = new ExcludeDirective[1];
  +        excludes[0] = new ExcludeDirective( "test*.jar" );
  +
  +        // provide legitimate fileset directory attribute
  +        final String dir = "target/test/ext";
  +        FilesetDirective fsd = new FilesetDirective( dir, includes, excludes 
);
  +
  +        // set the fileset model's anchor directory and set of 
includes/excludes
  +        File anchor = new File( m_root, fsd.getBaseDirectory() );
  +        m_model.setBaseDirectory( anchor );
  +        m_model.setIncludeDirectives( fsd.getIncludes() );
  +        m_model.setExcludeDirectives( fsd.getExcludes() );
  +        m_model.setDefaultIncludes( null );
  +        m_model.setDefaultExcludes( null );
  +
  +        // do the test...
  +        try
  +        {
  +             m_model.resolveFileset();
  +            ArrayList list = m_model.getIncludes();
  +            if ( list.size() != 2 )
  +            {
  +                fail( "The include set returned did not equal 2 (two) 
entries" );
  +            }
  +            for ( int i = 0; i < list.size(); i++ )
  +            {
  +                File file = (File) list.get( i );
  +                if ( !file.isFile() )
  +                {
  +                    fail( "One of the included entries is not a file" );
  +                }
  +                if ( !file.getName().endsWith( "jar" ) )
  +                {
  +                    fail( "One of the included file entries does not have a 
.jar extension" );
  +                }
  +                if ( file.getName().startsWith( "test" ) )
  +                {
  +                    fail( "One of the include file entries has a filename 
beginning with 'test'" );
  +                }
  +            }
  +        }
  +        catch( IllegalStateException ise )
  +        {
  +            fail( "The exception thrown was an " + ise.getClass().getName() 
);
  +        }
  +        catch( IOException ioe )
  +        {
  +            fail( "The exception thrown was an " + ioe.getClass().getName() 
);
  +        }
  +        catch( Exception e )
  +        {
  +            fail( "The exception thrown was " + e.getClass().getName() );
  +        }
  +    }
  +
  +    /**
  +     * A fileset directive of:
  +     *
  +     *      <fileset dir="my-dir">
  +     *          <include name="**//*.jar/>
  +     *      </fileset>
  +     *
  +     * should return all the files in my-dir and it's child
  +     * directories with the .jar extension.
  +     */
  +    public void testRecursiveIncludes() throws Exception
  +    {
  +        // testing an include directive = "**/*.jar"
  +        IncludeDirective[] includes = new IncludeDirective[1];
  +        includes[0] = new IncludeDirective( "**/*.jar" );
  +
  +        // testing empty exclude directives
  +        ExcludeDirective[] excludes = new ExcludeDirective[0];
  +
  +        // provide legitimate fileset directory attribute
  +        final String dir = "target/test";
  +        FilesetDirective fsd = new FilesetDirective( dir, includes, excludes 
);
  +
  +        // set the fileset model's anchor directory and set of 
includes/excludes
  +        File anchor = new File( m_root, fsd.getBaseDirectory() );
  +        m_model.setBaseDirectory( anchor );
  +        m_model.setIncludeDirectives( fsd.getIncludes() );
  +        m_model.setExcludeDirectives( fsd.getExcludes() );
  +        m_model.setDefaultIncludes( null );
  +        m_model.setDefaultExcludes( null );
  +
  +        // do the test...
  +        try
  +        {
  +             m_model.resolveFileset();
  +            ArrayList list = m_model.getIncludes();
  +            if ( list.size() != 9 )
  +            {
  +                fail( "The include set returned did not equal 9 (nine) 
entries" );
               }
               for ( int i = 0; i < list.size(); i++ )
               {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to