rdonkin 2004/08/27 14:15:19 Added: betwixt/src/test/org/apache/commons/betwixt TestMultiMapping.java Log: Multi mapping document support. Contributed by Brian Pugh. Revision Changes Path 1.1 jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestMultiMapping.java Index: TestMultiMapping.java =================================================================== /* * Copyright 2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.commons.betwixt; import java.beans.IntrospectionException; import java.io.FileReader; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.util.Date; import org.apache.commons.betwixt.io.BeanReader; import org.apache.commons.betwixt.io.BeanWriter; import org.xml.sax.InputSource; import org.xml.sax.SAXException; /** * @author Brian Pugh */ public class TestMultiMapping extends AbstractTestCase { public TestMultiMapping(String testName) { super(testName); } public void testRoundTripWithSingleMappingFile() throws IOException, SAXException, IntrospectionException { AddressBean addressBean = new AddressBean(); addressBean.setCity("New York"); addressBean.setCode("92342"); addressBean.setCountry("USA"); addressBean.setStreet("12312 Here"); PartyBean partyBean = new PartyBean(); partyBean.setDateOfParty(new Date()); partyBean.setExcuse("too late"); partyBean.setFromHour(22); partyBean.setVenue(addressBean); InputSource source = new InputSource( new FileReader(getTestFile("src/test/org/apache/commons/betwixt/mapping.xml"))); StringWriter outputWriter = new StringWriter(); outputWriter.write("<?xml version='1.0' ?>\n"); BeanWriter beanWriter = new BeanWriter(outputWriter); beanWriter.enablePrettyPrint(); beanWriter.setWriteEmptyElements(true); beanWriter.getXMLIntrospector().register(source); beanWriter.write(partyBean); String expectedOut = "<?xml version='1.0' ?>\n" + " <party id=\"1\">\n" + " <the-excuse>too late</the-excuse>\n" + " <location id=\"2\">\n" + " <street>12312 Here</street>\n" + " <city>New York</city>\n" + " <code>92342</code>\n" + " <country>USA</country>\n" + " </location>\n" + " <time>22</time>\n" + " </party>\n"; assertEquals(expectedOut, outputWriter.toString()); BeanReader beanReader = new BeanReader(); beanReader.registerMultiMapping( new InputSource( new FileReader(getTestFile("src/test/org/apache/commons/betwixt/mapping.xml")))); StringReader xmlReader = new StringReader(outputWriter.toString()); //Parse the xml PartyBean result = (PartyBean)beanReader.parse(xmlReader); assertEquals(partyBean.getExcuse(), result.getExcuse()); assertEquals(partyBean.getFromHour(), result.getFromHour()); AddressBean addressResult = result.getVenue(); assertEquals(addressBean.getCity(), addressResult.getCity()); assertEquals(addressBean.getCode(), addressResult.getCode()); assertEquals(addressBean.getCountry(), addressResult.getCountry()); assertEquals(addressBean.getStreet(), addressResult.getStreet()); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]