User: rinkrank
  Date: 02/03/01 02:44:41

  Added:       etc      xjavadoctest.j
  Log:
  Automatic JUnit test generation
  Various bug fixes and optimisations
  Deadlock! FIXME
  
  Revision  Changes    Path
  1.1                  xjavadoc/etc/xjavadoctest.j
  
  Index: xjavadoctest.j
  ===================================================================
  package <XDtPackage:packageName/>;
  
  import junit.framework.*;
  import xjavadoc.*;
  import java.io.File;
  
  /**
   * Automatically generated JUnit test for xjavadoc
   *
   * @author xjavadoc/xdoclet
   * @created 8. januar 2002
   * @todo-javadoc Write javadocs
   */
  public class <XDtClass:className/>__GENERATED__Test extends TestCase {
  
        private XClass _testedClass;
  
        public <XDtClass:className/>__GENERATED__Test( String name ) {
                super( name );
        }
        
        public void setUp() throws Exception {
                // hardcoded to xjavadoc's own sources
                File dir = new File(System.getProperty("user.dir") + File.separator + 
"build" + File.separator + "src");
                XJavaDoc.getInstance().setDir(dir);
                _testedClass = XJavaDoc.getInstance().getXClass( 
"<XDtClass:fullClassName/>" );
        }
  
        public void tearDown() {
        }
        
        public void testPackage() {
                assertEquals( "<XDtPackage:packageName/>", 
_testedClass.containingPackage().name() );
        }
  
        public void testSuperclass() {
                XClass superclass = _testedClass.superclass();
                String superclassName;
                if( superclass == null ) {
                        superclassName = "java.lang.Object";
                } else {
                        superclassName = superclass.qualifiedName();
                }
                
                assertEquals( "<XDtClass:fullSuperclassName/>", superclassName );
        }
        
        public void testInterfaces() {
                // not implemented in xdoclet yet
        }
  
        private String toArray( int n ) {
                String result = "";
                for( int i = 0; i < n; i++ ) {
                        result += "[]";
                }
                return result;
        }
  
        public void testFields() {
                int f = 0;
  
                XField[] fields = _testedClass.fields();
            <XDtField:forAllFields superclasses="false" sort="true">
                // test if field type is the same
                assertEquals( "<XDtField:fieldType/>", 
fields[f].type().qualifiedName() + toArray(fields[f].dimension()));
  
                // test if field name is the same
                assertEquals( "<XDtField:fieldName/>", fields[f].name() );
                f++;
            </XDtField:forAllFields>
        }
  
        public void testMethods() {
                int m = 0;
                int p = 0;
  
                XMethod[] methods = _testedClass.methods();
                XParameter[] parameters;
            <XDtMethod:forAllMethods superclasses="false" sort="true">
                // test if return type is the same
                assertEquals( "<XDtMethod:methodType/>", 
methods[m].returnType().qualifiedName() + toArray(methods[m].returnDimension()) );
  
                // test if method name is the same
                assertEquals( "<XDtMethod:methodName/>", methods[m].name() );
  
                // test if parameters are the same
                parameters = methods[m].parameters();
                p=0;
              <XDtParameter:forAllMethodParams>
                assertEquals( "<XDtParameter:methodParamType/>", 
parameters[p].type().qualifiedName() + toArray(parameters[p].dimension()) );
                assertEquals( "<XDtParameter:methodParamName/>", parameters[p].name() 
);
                p++;
              </XDtParameter:forAllMethodParams>
                m++;
            </XDtMethod:forAllMethods>
        }
  }
  
  
  

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to