cvs commit: spice/sandbox/metaclass/src/test/org/realityforge/metaclass/io DOMMetaClassDeserializerTestCase.java
Peter Donald <[email protected]>
| Newsgroups | gmane.comp.java.spice.cvs |
|---|---|
| Message-ID | <[email protected]> |
donaldp 03/10/31 16:49:04
Modified: sandbox/metaclass/src/test/org/realityforge/metaclass/io
DOMMetaClassDeserializerTestCase.java
Log:
More unit tests
Revision Changes Path
1.6 +71 -1 spice/sandbox/metaclass/src/test/org/realityforge/metaclass/io/DOMMetaClassDeserializerTestCase.java
Index: DOMMetaClassDeserializerTestCase.java
===================================================================
RCS file: /cvsroot/spice/spice/sandbox/metaclass/src/test/org/realityforge/metaclass/io/DOMMetaClassDeserializerTestCase.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DOMMetaClassDeserializerTestCase.java 1 Nov 2003 00:25:03 -0000 1.5
+++ DOMMetaClassDeserializerTestCase.java 1 Nov 2003 00:49:04 -0000 1.6
@@ -15,12 +15,15 @@
import org.w3c.dom.Text;
import org.w3c.dom.Comment;
import org.realityforge.metaclass.model.Attribute;
+import org.realityforge.metaclass.model.FieldDescriptor;
+import org.realityforge.metaclass.model.ParameterDescriptor;
+import org.realityforge.metaclass.model.MethodDescriptor;
import java.util.Properties;
/**
*
* @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
- * @version $Revision: 1.5 $ $Date: 2003/11/01 00:25:03 $
+ * @version $Revision: 1.6 $ $Date: 2003/11/01 00:49:04 $
*/
public class DOMMetaClassDeserializerTestCase
extends TestCase
@@ -218,6 +221,73 @@
assertEquals( "attributes[0].name", "myAttribute", attributes[ 0 ].getName() );
assertEquals( "attributes[0].value", "Part1Part2", attributes[ 0 ].getValue() );
assertEquals( "attributes[0].parameterCount", 0, attributes[ 0 ].getParameterCount() );
+ }
+
+ public void testBuildField()
+ throws Exception
+ {
+ final DOMMetaClassDeserializer deserializer = new DOMMetaClassDeserializer();
+ final Document document = createDocument();
+ final Element root = document.createElement( MetaClassIOXml.FIELDS_ELEMENT );
+ final Element element = document.createElement( MetaClassIOXml.FIELD_ELEMENT );
+ root.appendChild( element );
+ element.setAttribute( MetaClassIOXml.NAME_ATTRIBUTE, "myField" );
+ element.setAttribute( MetaClassIOXml.TYPE_ATTRIBUTE, "int" );
+
+ final Element attributes = document.createElement( MetaClassIOXml.ATTRIBUTES_ELEMENT );
+ element.appendChild( attributes );
+ final Element attribute = document.createElement( MetaClassIOXml.ATTRIBUTE_ELEMENT );
+ attributes.appendChild( attribute );
+ attribute.setAttribute( MetaClassIOXml.NAME_ATTRIBUTE, "myAttribute" );
+ final Comment comment = document.createComment( "Random COmment" );
+ attribute.appendChild( comment );
+
+ final FieldDescriptor[] fields = deserializer.buildFields( root );
+ assertEquals( "fields.length", 1, fields.length );
+ assertEquals( "fields[0].name", "myField", fields[ 0 ].getName() );
+ assertEquals( "fields[0].type", "int", fields[ 0 ].getType() );
+ assertEquals( "fields[0].attributeCount", 1, fields[ 0 ].getAttributes().length );
+ }
+
+ public void testBuildParameter()
+ throws Exception
+ {
+ final DOMMetaClassDeserializer deserializer = new DOMMetaClassDeserializer();
+ final Document document = createDocument();
+ final Element root = document.createElement( MetaClassIOXml.PARAMETERS_ELEMENT );
+ final Element element = document.createElement( MetaClassIOXml.PARAMETER_ELEMENT );
+ root.appendChild( element );
+ element.setAttribute( MetaClassIOXml.NAME_ATTRIBUTE, "myParam" );
+ element.setAttribute( MetaClassIOXml.TYPE_ATTRIBUTE, "int" );
+ final ParameterDescriptor[] parameters = deserializer.buildParameters( root );
+ assertEquals( "parameters.length", 1, parameters.length );
+ assertEquals( "parameters[0].name", "myParam", parameters[ 0 ].getName() );
+ assertEquals( "parameters[0].type", "int", parameters[ 0 ].getType() );
+ }
+
+ public void testBuildMethod()
+ throws Exception
+ {
+ final DOMMetaClassDeserializer deserializer = new DOMMetaClassDeserializer();
+ final Document document = createDocument();
+ final Element root = document.createElement( MetaClassIOXml.METHODS_ELEMENT );
+ final Element element = document.createElement( MetaClassIOXml.METHOD_ELEMENT );
+ root.appendChild( element );
+ element.setAttribute( MetaClassIOXml.NAME_ATTRIBUTE, "myMethod" );
+ element.setAttribute( MetaClassIOXml.TYPE_ATTRIBUTE, "int" );
+
+ final Element parameters = document.createElement( MetaClassIOXml.PARAMETERS_ELEMENT );
+ element.appendChild( parameters );
+ final Element parameter = document.createElement( MetaClassIOXml.PARAMETER_ELEMENT );
+ parameters.appendChild( parameter );
+ element.setAttribute( MetaClassIOXml.NAME_ATTRIBUTE, "myParam" );
+ element.setAttribute( MetaClassIOXml.TYPE_ATTRIBUTE, "int" );
+
+ final MethodDescriptor[] methods = deserializer.buildMethods( root );
+ assertEquals( "methods.length", 1, methods.length );
+ assertEquals( "methods[0].name", "myParam", methods[ 0 ].getName() );
+ assertEquals( "methods[0].returnType", "int", methods[ 0 ].getReturnType() );
+ assertEquals( "methods[0].parameters.length", 1, methods[ 0 ].getParameters().length );
}
private Document createDocument()
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/