okay, here is the tests that work with that formatting unset....(thanks by the way). I assume you still have the patch I sent you, or have you committed that already?

 /** <p>Tests marshalling of non-registered element and then
  *     registers package and test that it can be marshalled now</p>
  */
   public void testDynamicMarshal() throws Exception {
       JAXBContext ctx = getFactory();
       Marshaller marshaller = ctx.createMarshaller();
org.apache.ws.jaxme.test.misc.address.ObjectFactory factory = new org.apache.ws.jaxme.test.misc.address.ObjectFactory();
       Address addr = factory.createAddress();
       NameType name = factory.createAddressTypeNameType();
       PostalType postal = factory.createAddressTypePostalType();
       postal.setStreet("56 East Ave");
       postal.setZIP("50344");
       postal.setCity("thornton");
       postal.setCountry("US");
       postal.setState("CO");
       name.setFirst("dean");
       name.setLast("hiller");
       addr.setId("someID");
       addr.setName(name);
       addr.setPostal(postal);
       StringWriter writer = new StringWriter();
try {
           marshaller.marshal(addr, writer);
fail("Should have thrown an exception since address is not registered yet");
       } catch(JAXBException e) {}
//now register(this is not JAXB compliant as of yet)
       JAXBContextImpl ctxImpl = (JAXBContextImpl)ctx;
ctxImpl.registerPackages("org.apache.ws.jaxme.test.misc.address", addr.getClass().getClassLoader()); writer = new StringWriter(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.FALSE);
       marshaller.marshal(addr, writer);

       assertEquals(getXml(), writer.toString());
   }
public String getXml() { return "<?xml version='1.0' encoding='UTF-8'?><Address id=\"someID\" xmlns=\"http://ws.apache.org/jaxme/test/misc/address\";><Name><First>dean</First><Last>hiller</Last></Name><Postal><Street>56 East Ave</Street><ZIP>50344</ZIP><City>thornton</City><State>CO</State><Country>US</Country></Postal></Address>";
   }
public void testDynamicUnmarshal() throws JAXBException {
       JAXBContext ctx = getFactory();
       Unmarshaller unmarshaller = ctx.createUnmarshaller();
StringReader reader = new StringReader(getXml());
       InputSource src = new InputSource(reader);
       try {
           unmarshaller.unmarshal(src);
           fail("Should fail since package not registered");
       } catch(JAXBException e) {}
//now register(this is not JAXB compliant as of yet)
       JAXBContextImpl ctxImpl = (JAXBContextImpl)ctx;
ctxImpl.registerPackages("org.apache.ws.jaxme.test.misc.address", Address.class.getClassLoader());

       reader = new StringReader(getXml());
       src = new InputSource(reader);
Address addr = (Address)unmarshaller.unmarshal(src);
       assertEquals("someID", addr.getId());
       assertEquals("dean", addr.getName().getFirst());
       assertEquals("hiller", addr.getName().getLast());
   }

Jochen Wiedmann wrote:

Dean Hiller wrote:

So I found MarshallerTest and I added the following tests. (I am having trouble with the marshaller test with whitespace comparison...can you help me out here....how do you deal with this?).


Simple: Turn whitespace off. :-) (JAXB_FORMATTED, or whatever the marshaller property is named.)


Jochen



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to