You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by rd...@apache.org on 2003/08/14 22:18:39 UTC
cvs commit: jakarta-commons/betwixt/src/test/org/apache/commons/betwixt TestBeanReader.java
rdonkin 2003/08/14 13:18:39
Modified: betwixt/src/test/org/apache/commons/betwixt
TestBeanReader.java
Log:
Added (another) test for hyphenated name mapper.
Revision Changes Path
1.17 +54 -0 jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestBeanReader.java
Index: TestBeanReader.java
===================================================================
RCS file: /home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestBeanReader.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- TestBeanReader.java 31 Jul 2003 21:40:58 -0000 1.16
+++ TestBeanReader.java 14 Aug 2003 20:18:39 -0000 1.17
@@ -438,6 +438,60 @@
assertEquals("Incorrect date property", date.toGMTString(), readBean.getDateOfParty().toGMTString());
}
+ public void testHyphenatedNameMapping() throws Exception {
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(2003, 7, 2, 19, 30, 00);
+ java.util.Date date = calendar.getTime();
+
+ String dateToString = date.toString();
+
+ PartyBean bean = new PartyBean(
+ "Wedding",
+ date,
+ 1930,
+ new AddressBean("Old White Lion Hotel", "Howarth", "Merry Old England", "BD22 8EP"));
+
+ StringWriter out = new StringWriter();
+ out.write("<?xml version='1.0'?>");
+
+ BeanWriter writer = new BeanWriter(out);
+ XMLIntrospector introspector = writer.getXMLIntrospector();
+ introspector.setElementNameMapper(new HyphenatedNameMapper());
+ introspector.setAttributesForPrimitives(false);
+
+ writer.write(bean);
+
+ String xml = "<?xml version='1.0'?><party-bean>"
+ + "<venue><street>Old White Lion Hotel</street><city>Howarth</city>"
+ + "<code>BD22 8EP</code><country>Merry Old England</country></venue>"
+ + "<date-of-party>" + dateToString
+ + "</date-of-party><from-hour>1930</from-hour>"
+ + "<excuse>Wedding</excuse>"
+ + "</party-bean>";
+
+ xmlAssertIsomorphic(parseString(xml), parseString(out) , true);
+
+ BeanReader reader = new BeanReader();
+ reader.setXMLIntrospector(introspector);
+ reader.registerBeanClass(PartyBean.class);
+ PartyBean readBean = (PartyBean) reader.parse(new StringReader(xml));
+
+ assertEquals("FromHours incorrect property value", readBean.getFromHour(), bean.getFromHour());
+ assertEquals("Excuse incorrect property value", readBean.getExcuse(), bean.getExcuse());
+
+ // check address
+ AddressBean readAddress = readBean.getVenue();
+ AddressBean address = bean.getVenue();
+ assertEquals("address.street incorrect property value", readAddress.getStreet(), address.getStreet());
+ assertEquals("address.city incorrect property value", readAddress.getCity(), address.getCity());
+ assertEquals("address.code incorrect property value", readAddress.getCode(), address.getCode());
+ assertEquals("address.country incorrect property value", readAddress.getCountry(), address.getCountry());
+
+ // check dates
+ assertEquals("Incorrect date property", date.toGMTString(), readBean.getDateOfParty().toGMTString());
+
+ }
+
public void testCustomDateReadConversion() throws Exception {
BindingConfiguration configuration = new BindingConfiguration(