Update of /cvsroot/jaxme/JaxMe2/src/net/sf/jaxme/junit
In directory sc8-pr-cvs1:/tmp/cvs-serv30228/src/net/sf/jaxme/junit
Modified Files:
ParserTest.java MarshallerTest.java
Log Message:
Added types: NmTokens, NonNegativeIntegerType. (Marty Kube)
Work on the documentation. (Thalia Rubio)
Work on the references. (Jochen Wiedmann)
Index: ParserTest.java
===================================================================
RCS file: /cvsroot/jaxme/JaxMe2/src/net/sf/jaxme/junit/ParserTest.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- ParserTest.java 20 Feb 2003 21:02:00 -0000 1.13
+++ ParserTest.java 6 Mar 2003 20:51:03 -0000 1.14
@@ -36,6 +36,7 @@
import net.sf.jaxme.generator.types.UnionType;
import net.sf.jaxme.generator.types.impl.NegativeIntegerType;
import net.sf.jaxme.generator.types.impl.NonPositiveIntegerType;
+import net.sf.jaxme.generator.types.impl.NonNegativeIntegerType;
import net.sf.jaxme.generator.types.impl.IntegerType;
import net.sf.jaxme.generator.util.QNameComparator;
import net.sf.jaxme.javasource.JavaQName;
@@ -890,7 +891,7 @@
isource.setSystemId("testNonPositiveInteger.xsd");
JAXBSchema jschema = (JAXBSchema) r.parse(isource);
- // simple, atomic, with restriction and maxInclusive
+ // simple, atomic, with restriction and maxExclusive and maxInclusive
SchemaType npi = jschema.getSchemaElements()[0].getSchemaType();
assertTrue(npi.getQName().getLocalPart().equals("nonPositiveInteger"));
assertTrue(!npi.isComplex());
@@ -936,7 +937,7 @@
isource.setSystemId("testNegativeInteger.xsd");
JAXBSchema jschema = (JAXBSchema) r.parse(isource);
- // simple, atomic, with restrictions on and maxInclusive
+ // simple, atomic, with restrictions on maxInclusive and MaxExclusive
SchemaType ni = jschema.getSchemaElements()[0].getSchemaType();
assertTrue(ni.getQName().getLocalPart().equals("negativeInteger"));
assertTrue(!ni.isComplex());
@@ -968,6 +969,94 @@
log.debug(mName + ": <-");
}
+ public void testNonNegativeIntegerType() throws Exception {
+ final String mName = "testNonNegativeIntegerType";
+ log.debug(mName + ": ->");
+ final String schema =
+ "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> \n" +
+ " <xsd:element name='non-negative-integer' type='xsd:nonNegativeInteger'/> \n"
+
+ "</xsd:schema> \n";
+
+ JAXBSchemaReader r = new JAXBSchemaReader();
+ InputSource isource = new InputSource(new StringReader(schema));
+ isource.setSystemId("testNonNegativeIntegerType.xsd");
+ JAXBSchema jschema = (JAXBSchema) r.parse(isource);
+
+ // simple, atomic, with restriction on minInclusive and minExclusive
+ SchemaType nni = jschema.getSchemaElements()[0].getSchemaType();
+ assertTrue(nni.getQName().getLocalPart().equals("nonNegativeInteger"));
+ assertTrue(!nni.isComplex());
+ SchemaSimpleType nnis = (SchemaSimpleType) nni;
+ assertTrue(nnis.isAtomic());
+ assertTrue(!nnis.isList());
+ assertTrue(!nnis.isUnion());
+ AtomicType nnisa = (AtomicType) nnis;
+ assertEquals(-1, nnisa.getMinExclusive().intValue());
+ assertEquals(0, nnisa.getMinInclusive().intValue());
+
+ // check setters that should throw range exceptions
+ NonNegativeIntegerType nnit = new NonNegativeIntegerType();
+ boolean didThrow = false;
+ try {
+ nnit.setMinInclusive(new Integer(-1));
+ } catch (IllegalArgumentException e) {
+ didThrow = true;
+ }
+ assertTrue(didThrow);
+ didThrow = false;
+ try {
+ nnit.setMinExclusive(new Integer(-2));
+ } catch (IllegalArgumentException e) {
+ didThrow = true;
+ }
+ assertTrue(didThrow);
+ log.debug(mName + ": <-");
+ }
+
+ public void testPositiveIntegerType() throws Exception {
+ final String mName = "testPositiveIntegerType";
+ log.debug(mName + ": ->");
+ final String schema =
+ "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> \n" +
+ " <xsd:element name='positive-integer' type='xsd:positiveInteger'/> \n" +
+ "</xsd:schema> \n";
+
+ JAXBSchemaReader r = new JAXBSchemaReader();
+ InputSource isource = new InputSource(new StringReader(schema));
+ isource.setSystemId("testPositiveIntegerType.xsd");
+ JAXBSchema jschema = (JAXBSchema) r.parse(isource);
+
+ // simple, atomic, with restriction on minInclusive and minExclusive
+ SchemaType pi = jschema.getSchemaElements()[0].getSchemaType();
+ assertTrue(pi.getQName().getLocalPart().equals("positiveInteger"));
+ assertTrue(!pi.isComplex());
+ SchemaSimpleType pis = (SchemaSimpleType) pi;
+ assertTrue(pis.isAtomic());
+ assertTrue(!pis.isList());
+ assertTrue(!pis.isUnion());
+ AtomicType pisa = (AtomicType) pis;
+ assertEquals(0, pisa.getMinExclusive().intValue());
+ assertEquals(1, pisa.getMinInclusive().intValue());
+
+ // check setters that should throw range exceptions
+ NonNegativeIntegerType pit = new NonNegativeIntegerType();
+ boolean didThrow = false;
+ try {
+ pit.setMinInclusive(new Integer(0));
+ } catch (IllegalArgumentException e) {
+ didThrow = true;
+ }
+ assertTrue(didThrow);
+ didThrow = false;
+ try {
+ pit.setMinExclusive(new Integer(-1));
+ } catch (IllegalArgumentException e) {
+ didThrow = true;
+ }
+ assertTrue(didThrow);
+ log.debug(mName + ": <-");
+ }
+
/** Test some basic functionality of the builtin datatype integer. */
public void testIntegerType() throws Exception {
final String mName = "testIntegerType";
@@ -1004,4 +1093,31 @@
assertTrue(didThrow);
log.debug(mName + ": <-");
}
+
+ /** Test built-in type NMTOKENS. */
+ public void testNmTokensType() throws Exception {
+ final String mName = "testNmTokensType";
+ log.debug(mName + ": ->");
+ final String schema =
+ "<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'> \n" +
+ " <xsd:element name='some-nmtokens' type='xsd:NMTOKENS'/> \n" +
+ "</xsd:schema> \n";
+
+ JAXBSchemaReader r = new JAXBSchemaReader();
+ InputSource isource = new InputSource(new StringReader(schema));
+ isource.setSystemId("testNmTokensType.xsd");
+ JAXBSchema jschema = (JAXBSchema) r.parse(isource);
+
+ // list of one or more nmtoken's
+ SchemaType nmts = jschema.getSchemaElements()[0].getSchemaType();
+ assertTrue(nmts.getQName().getLocalPart().equals("NMTOKENS"));
+ assertTrue(!nmts.isComplex());
+ SchemaSimpleType nmtss = (SchemaSimpleType) nmts;
+ assertTrue(!nmtss.isAtomic());
+ assertTrue(nmtss.isList());
+ assertTrue(!nmtss.isUnion());
+ ListType mntsl = (ListType) nmtss;
+ assertEquals(1, mntsl.getMinLength().intValue());
+ assertTrue(mntsl.getItemType().getQName().getLocalPart().equals("NMTOKEN"));
+ }
}
Index: MarshallerTest.java
===================================================================
RCS file: /cvsroot/jaxme/JaxMe2/src/net/sf/jaxme/junit/MarshallerTest.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- MarshallerTest.java 20 Feb 2003 21:01:59 -0000 1.7
+++ MarshallerTest.java 6 Mar 2003 20:51:05 -0000 1.8
@@ -105,9 +105,14 @@
element.setDurationElem(getDuration());
element.setHexBinaryElem(getHexBytes());
element.setBase64BinaryElem(getHexBytes());
- element.setNmTokenElem("these are some nm tokens");
+ element.setNmTokenElem("a-name-token");
+ List nmTokens = new ArrayList();
+ nmTokens.add("a-name-token");
+ nmTokens.add("another:name-token");
+ element.setNmTokensElem(nmTokens);
element.setDecimalElem(new BigDecimal("6.023e23"));
element.setIntegerElem(new BigDecimal("-6023e20"));
+ element.setNonNegativeIntegerElem(new BigDecimal("101"));
element.setPositiveIntegerElem(new BigDecimal("+6023e20"));
element.setNonPositiveIntegerElem(new BigDecimal("-21714"));
element.setNegativeIntegerElem(new BigDecimal("-21714"));
@@ -141,9 +146,11 @@
"<ex:DurationElem>P1Y2M3DT4H5M" + NumberFormat.getInstance().format(6.7) +
"S</ex:DurationElem>" +
"<ex:HexBinaryElem>0111234E739DBBFF</ex:HexBinaryElem>" +
"<ex:Base64BinaryElem>AREjTnOdu/8=</ex:Base64BinaryElem>" +
- "<ex:NmTokenElem>these are some nm tokens</ex:NmTokenElem>" +
+ "<ex:NmTokenElem>a-name-token</ex:NmTokenElem>" +
+ "<ex:NmTokensElem>a-name-token another:name-token</ex:NmTokensElem>" +
"<ex:DecimalElem>602300000000000000000000</ex:DecimalElem>" +
"<ex:IntegerElem>-602300000000000000000000</ex:IntegerElem>" +
+ "<ex:NonNegativeIntegerElem>101</ex:NonNegativeIntegerElem>" +
"<ex:PositiveIntegerElem>602300000000000000000000</ex:PositiveIntegerElem>" +
"<ex:NonPositiveIntegerElem>-21714</ex:NonPositiveIntegerElem>" +
"<ex:NegativeIntegerElem>-21714</ex:NegativeIntegerElem>" +
@@ -166,9 +173,11 @@
" <ex:DurationElem>P1Y2M3DT4H5M" + NumberFormat.getInstance().format(6.7) +
"S</ex:DurationElem>\n" +
" <ex:HexBinaryElem>0111234E739DBBFF</ex:HexBinaryElem>\n" +
" <ex:Base64BinaryElem>AREjTnOdu/8=</ex:Base64BinaryElem>\n" +
- " <ex:NmTokenElem>these are some nm tokens</ex:NmTokenElem>\n" +
+ " <ex:NmTokenElem>a-name-token</ex:NmTokenElem>\n" +
+ " <ex:NmTokensElem>a-name-token another:name-token</ex:NmTokensElem>\n" +
" <ex:DecimalElem>602300000000000000000000</ex:DecimalElem>\n" +
" <ex:IntegerElem>-602300000000000000000000</ex:IntegerElem>\n" +
+ " <ex:NonNegativeIntegerElem>101</ex:NonNegativeIntegerElem>\n" +
"
<ex:PositiveIntegerElem>602300000000000000000000</ex:PositiveIntegerElem>\n" +
" <ex:NonPositiveIntegerElem>-21714</ex:NonPositiveIntegerElem>\n" +
" <ex:NegativeIntegerElem>-21714</ex:NegativeIntegerElem>\n" +
@@ -209,6 +218,8 @@
assertEquals(getDuration(), pElement.getDurationElem());
assertEquals(getHexBytes(), pElement.getHexBinaryElem());
assertEquals(getHexBytes(), pElement.getBase64BinaryElem());
+ assertEquals(new BigDecimal(101), pElement.getNonNegativeIntegerElem());
+ // marty - a little more here
}
public void verifyAllTypesElement(AllTypesElement pElement) {
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
_______________________________________________
Jaxme-jaxb-dev mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jaxme-jaxb-dev