package nl.abz.bug.xsi.nillable;


import java.io.*;

import junit.framework.*;

import org.exolab.castor.xml.*;

import nl.abz.bug.xsi.nillable.castor.wrapper.*;


public class TestCaseBug1723Unmarshaller extends TestCase {


public void testCastorUnmarshallerTopValidationTag_Element_RequiredDateTag() throws Exception {
for (int i = 0; i < 2; i++) {
boolean setRoot = (i == 1);


String xml = "<TopValidationTag>"
+ "<RequiredDateTag>2005-01-16</RequiredDateTag>"
+ "<RequiredNillableDateTag>2005-01-16</RequiredNillableDateTag>"
+ "<OptionalDateTag>2005-01-16</OptionalDateTag>"
+ "<OptionalNillableDateTag>2005-01-16</OptionalNillableDateTag>"
+ "<RequiredMultipleDateTag>2005-01-16</RequiredMultipleDateTag>"
+ "<RequiredMultipleNillableDateTag>2005-01-16</RequiredMultipleNillableDateTag>"
+ "<OptionalMultipleDateTag>2005-01-16</OptionalMultipleDateTag>"
+ "<OptionalMultipleNillableDateTag>2005-01-16</OptionalMultipleNillableDateTag>"
+ "</TopValidationTag>";
TopValidationTag topValidationTag = (TopValidationTag)deserializeUsingCastor(xml, new TopValidationTag(), setRoot, false);
assertEquals("2005-01-16", topValidationTag.getRequiredDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getRequiredNillableDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getOptionalDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getOptionalNillableDateTag().toString());
assertEquals(1, topValidationTag.getRequiredMultipleDateTagCount());
assertEquals("2005-01-16", topValidationTag.getRequiredMultipleDateTag()[0].toString());
assertEquals(1, topValidationTag.getRequiredMultipleNillableDateTagCount());
assertEquals("2005-01-16", topValidationTag.getRequiredMultipleNillableDateTag()[0].toString());
assertEquals(1, topValidationTag.getOptionalMultipleDateTagCount());
assertEquals("2005-01-16", topValidationTag.getOptionalMultipleDateTag()[0].toString());
assertEquals(1, topValidationTag.getOptionalMultipleNillableDateTagCount());
assertEquals("2005-01-16", topValidationTag.getOptionalMultipleNillableDateTag()[0].toString());
assertTrue(topValidationTag.isValid());


xml = "<TopValidationTag>"
+ "<RequiredDateTag xsi:nil=\"true\"/>"
+ "<RequiredNillableDateTag>2005-01-16</RequiredNillableDateTag>"
+ "<OptionalDateTag>2005-01-16</OptionalDateTag>"
+ "<OptionalNillableDateTag>2005-01-16</OptionalNillableDateTag>"
+ "<RequiredMultipleDateTag>2005-01-16</RequiredMultipleDateTag>"
+ "<RequiredMultipleNillableDateTag>2005-01-16</RequiredMultipleNillableDateTag>"
+ "<OptionalMultipleDateTag>2005-01-16</OptionalMultipleDateTag>"
+ "<OptionalMultipleNillableDateTag>2005-01-16</OptionalMultipleNillableDateTag>"
+ "</TopValidationTag>";
topValidationTag = (TopValidationTag)deserializeUsingCastor(xml, new TopValidationTag(), setRoot, false);
assertNull(topValidationTag.getRequiredDateTag());
assertEquals("2005-01-16", topValidationTag.getRequiredNillableDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getOptionalDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getOptionalNillableDateTag().toString());
assertEquals(1, topValidationTag.getRequiredMultipleDateTagCount());
assertEquals("2005-01-16", topValidationTag.getRequiredMultipleDateTag()[0].toString());
assertEquals(1, topValidationTag.getRequiredMultipleNillableDateTagCount());
assertEquals("2005-01-16", topValidationTag.getRequiredMultipleNillableDateTag()[0].toString());
assertEquals(1, topValidationTag.getOptionalMultipleDateTagCount());
assertEquals("2005-01-16", topValidationTag.getOptionalMultipleDateTag()[0].toString());
assertEquals(1, topValidationTag.getOptionalMultipleNillableDateTagCount());
assertEquals("2005-01-16", topValidationTag.getOptionalMultipleNillableDateTag()[0].toString());


try {
topValidationTag.validate();
fail("RequiredDateTag IS required");
}
catch (ValidationException ve) {
assertTrue((ve.getMessage().indexOf("a required field") > -1));
assertTrue((ve.getMessage().indexOf("'RequiredDateTag'") > -1));
}


xml = "<TopValidationTag>"
+ "<RequiredDateTag/>"
+ "<RequiredNillableDateTag>2005-01-16</RequiredNillableDateTag>"
+ "<OptionalDateTag>2005-01-16</OptionalDateTag>"
+ "<OptionalNillableDateTag>2005-01-16</OptionalNillableDateTag>"
+ "<RequiredMultipleDateTag>2005-01-16</RequiredMultipleDateTag>"
+ "<RequiredMultipleNillableDateTag>2005-01-16</RequiredMultipleNillableDateTag>"
+ "<OptionalMultipleDateTag>2005-01-16</OptionalMultipleDateTag>"
+ "<OptionalMultipleNillableDateTag>2005-01-16</OptionalMultipleNillableDateTag>"
+ "</TopValidationTag>";
topValidationTag = (TopValidationTag)deserializeUsingCastor(xml, new TopValidationTag(), setRoot, false);
assertNull(topValidationTag.getRequiredDateTag());
assertEquals("2005-01-16", topValidationTag.getRequiredNillableDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getOptionalDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getOptionalNillableDateTag().toString());
assertEquals(1, topValidationTag.getRequiredMultipleDateTagCount());
assertEquals("2005-01-16", topValidationTag.getRequiredMultipleDateTag()[0].toString());
assertEquals(1, topValidationTag.getRequiredMultipleNillableDateTagCount());
assertEquals("2005-01-16", topValidationTag.getRequiredMultipleNillableDateTag()[0].toString());
assertEquals(1, topValidationTag.getOptionalMultipleDateTagCount());
assertEquals("2005-01-16", topValidationTag.getOptionalMultipleDateTag()[0].toString());
assertEquals(1, topValidationTag.getOptionalMultipleNillableDateTagCount());
assertEquals("2005-01-16", topValidationTag.getOptionalMultipleNillableDateTag()[0].toString());


try {
topValidationTag.validate();
fail("RequiredDateTag IS required");
}
catch (ValidationException ve) {
assertTrue((ve.getMessage().indexOf("a required field") > -1));
assertTrue((ve.getMessage().indexOf("'RequiredDateTag'") > -1));
}


xml = "<TopValidationTag>"
+ "<RequiredNillableDateTag>2005-01-16</RequiredNillableDateTag>"
+ "<OptionalDateTag>2005-01-16</OptionalDateTag>"
+ "<OptionalNillableDateTag>2005-01-16</OptionalNillableDateTag>"
+ "<RequiredMultipleDateTag>2005-01-16</RequiredMultipleDateTag>"
+ "<RequiredMultipleNillableDateTag>2005-01-16</RequiredMultipleNillableDateTag>"
+ "<OptionalMultipleDateTag>2005-01-16</OptionalMultipleDateTag>"
+ "<OptionalMultipleNillableDateTag>2005-01-16</OptionalMultipleNillableDateTag>"
+ "</TopValidationTag>";
topValidationTag = (TopValidationTag)deserializeUsingCastor(xml, new TopValidationTag(), setRoot, false);
assertNull(topValidationTag.getRequiredDateTag());
assertEquals("2005-01-16", topValidationTag.getRequiredNillableDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getOptionalDateTag().toString());
assertEquals("2005-01-16", topValidationTag.getOptionalNillableDateTag().toString());
assertEquals(1, topValidationTag.getRequiredMultipleDateTagCount());
assertEquals("2005-01-16", topValidationTag.getRequiredMultipleDateTag()[0].toString());
assertEquals(1, topValidationTag.getRequiredMultipleNillableDateTagCount());
assertEquals("2005-01-16", topValidationTag.getRequiredMultipleNillableDateTag()[0].toString());
assertEquals(1, topValidationTag.getOptionalMultipleDateTagCount());
assertEquals("2005-01-16", topValidationTag.getOptionalMultipleDateTag()[0].toString());
assertEquals(1, topValidationTag.getOptionalMultipleNillableDateTagCount());
assertEquals("2005-01-16", topValidationTag.getOptionalMultipleNillableDateTag()[0].toString());


try {
topValidationTag.validate();
fail("RequiredDateTag IS required");
}
catch (ValidationException ve) {
assertTrue((ve.getMessage().indexOf("a required field") > -1));
assertTrue((ve.getMessage().indexOf("'RequiredDateTag'") > -1));
}
}
}




----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev

Reply via email to