donaldp 2002/11/11 22:45:44
Modified: info/src/test/org/apache/avalon/framework/tools/infobuilder/test
InfoBuilderTestCase.java
Log:
Add unit test to test extracion of info from qdox parsing
Revision Changes Path
1.9 +40 -1
jakarta-avalon-excalibur/info/src/test/org/apache/avalon/framework/tools/infobuilder/test/InfoBuilderTestCase.java
Index: InfoBuilderTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/info/src/test/org/apache/avalon/framework/tools/infobuilder/test/InfoBuilderTestCase.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- InfoBuilderTestCase.java 12 Nov 2002 01:40:11 -0000 1.8
+++ InfoBuilderTestCase.java 12 Nov 2002 06:45:43 -0000 1.9
@@ -27,11 +27,19 @@
import org.apache.avalon.framework.tools.infobuilder.InfoWriter;
import org.apache.avalon.framework.tools.infobuilder.InfoReader;
import org.apache.avalon.framework.tools.infobuilder.XMLInfoReader;
+import org.apache.avalon.framework.tools.generator.QDoxInfoBuilder;
import org.apache.avalon.framework.container.ContainerUtil;
import java.util.Properties;
+import java.util.Arrays;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
+import java.io.Reader;
+import java.io.InputStreamReader;
+import java.io.InputStream;
+import com.thoughtworks.qdox.JavaDocBuilder;
+import com.thoughtworks.qdox.model.JavaSource;
+import com.thoughtworks.qdox.model.JavaClass;
/**
* Abstract class which TestCases can extend.
@@ -45,12 +53,17 @@
private static final String BASE_PACKAGE =
"org.apache.avalon.framework.tools.infobuilder.test.data.";
+ private static final String BASE_DIR = '/' + BASE_PACKAGE.replace( '.','/');
+
private static final String COMPONENT1 = BASE_PACKAGE + "component1";
private static final String COMPONENT2 = BASE_PACKAGE + "component2";
private static final String COMPONENT3 = BASE_PACKAGE + "component3";
private static final String SERVICE1 = BASE_PACKAGE + "service1";
+ private static final String SOURCE1 = BASE_DIR + "QDoxComponent1.java";
+ private static final String SOURCE1_INFO = BASE_PACKAGE + "QDoxComponent1";
+
public InfoBuilderTestCase( String name )
{
super( name );
@@ -129,6 +142,32 @@
runWriteReadTest( createDummyComponentInfo(),
new XMLInfoWriter(),
new XMLInfoReader() );
+ }
+
+ public void testQDoxScan()
+ throws Exception
+ {
+ final JavaDocBuilder builder = new JavaDocBuilder();
+ final InputStream inputStream = getClass().getResourceAsStream( SOURCE1 );
+ assertNotNull( "resource " + SOURCE1 + " not null", inputStream );
+ final Reader reader = new InputStreamReader( inputStream );
+ builder.addSource( reader );
+
+ final JavaSource[] sources = builder.getSources();
+ assertEquals( "sources.length", 1, sources.length );
+ final JavaSource source = sources[ 0 ];
+ final JavaClass[] classes = source.getClasses();
+ assertEquals( "source.getClasses()", 1, classes.length );
+
+ System.out.println( "source.getImports() = " + Arrays.asList(
source.getImports() ) );
+
+ final QDoxInfoBuilder infoBuilder = new QDoxInfoBuilder();
+ final ComponentInfo actual = infoBuilder.buildComponentInfo( classes[ 0 ] );
+ final ComponentInfo expected = loadComponentInfo( SOURCE1_INFO );
+
+ InfoAssert.assertEqualInfos( " ComponentInfo generated from source file",
+ expected,
+ actual );
}
private void runWriteReadTest( final ComponentInfo expected,
--
To unsubscribe, e-mail: <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>