Author: rfeng
Date: Tue Nov 27 12:25:06 2007
New Revision: 598756

URL: http://svn.apache.org/viewvc?rev=598756&view=rev
Log:
Add a POJO test case

Added:
    
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyBean.java
   (with props)
    
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/POJOTestCase.java
   (with props)

Added: 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyBean.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyBean.java?rev=598756&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyBean.java
 (added)
+++ 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyBean.java
 Tue Nov 27 12:25:06 2007
@@ -0,0 +1,54 @@
+package org.apache.tuscany.databinding.jaxb;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class MyBean {
+    private int age;
+    private String name;
+    private float[] rates = new float[] {1.0f, 2.0f};
+    private List<String> notes = new ArrayList<String>();
+    private Map<String, Integer> map = new HashMap<String, Integer>();
+
+    public int getAge() {
+        return age;
+    }
+
+    public void setAge(int age) {
+        this.age = age;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List<String> getNotes() {
+        return notes;
+    }
+
+    public void setNotes(List<String> notes) {
+        this.notes = notes;
+    }
+
+    public float[] getRates() {
+        return rates;
+    }
+
+    public void setRates(float[] rates) {
+        this.rates = rates;
+    }
+
+    public Map<String, Integer> getMap() {
+        return map;
+    }
+
+    public void setMap(Map<String, Integer> map) {
+        this.map = map;
+    }
+}

Propchange: 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyBean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/MyBean.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/POJOTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/POJOTestCase.java?rev=598756&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/POJOTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/POJOTestCase.java
 Tue Nov 27 12:25:06 2007
@@ -0,0 +1,58 @@
+package org.apache.tuscany.databinding.jaxb;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.namespace.QName;
+
+import junit.framework.TestCase;
+
+public class POJOTestCase extends TestCase {
+    public void testPOJO() throws Exception {
+        JAXBContext context = JAXBContext.newInstance(MyBean.class);
+        StringWriter writer = new StringWriter();
+        MyBean bean = new MyBean();
+        bean.setName("Test");
+        bean.setAge(20);
+        bean.getNotes().add("1");
+        bean.getNotes().add("2");
+        bean.getMap().put("1", 1);
+        JAXBElement<Object> element = new JAXBElement<Object>(new 
QName("http://ns1";, "bean"), Object.class, bean);
+        context.createMarshaller().marshal(element, writer);
+        System.out.println(writer.toString());
+
+        Object result = context.createUnmarshaller().unmarshal(new 
StringReader(writer.toString()));
+        assertTrue(result instanceof JAXBElement);
+        JAXBElement e2 = (JAXBElement)result;
+        assertTrue(e2.getValue() instanceof MyBean);
+    }
+
+    public void testPrimitive() throws Exception {
+        JAXBContext context = JAXBContext.newInstance(String.class);
+        StringWriter writer = new StringWriter();
+        JAXBElement<Object> element = new JAXBElement<Object>(new 
QName("http://ns1";, "bean"), Object.class, "ABC");
+        context.createMarshaller().marshal(element, writer);
+        System.out.println(writer.toString());
+
+        Object result = context.createUnmarshaller().unmarshal(new 
StringReader(writer.toString()));
+        assertTrue(result instanceof JAXBElement);
+        JAXBElement e2 = (JAXBElement)result;
+        assertTrue(e2.getValue() instanceof String);
+    }
+
+    public void testException() throws Exception {
+        JAXBContext context = 
JAXBContext.newInstance(IllegalArgumentException.class);
+        StringWriter writer = new StringWriter();
+        Exception e = new IllegalArgumentException("123");
+        JAXBElement<Object> element = new JAXBElement<Object>(new 
QName("http://ns1";, "bean"), Object.class, e);
+        context.createMarshaller().marshal(element, writer);
+        System.out.println(writer.toString());
+
+        Object result = context.createUnmarshaller().unmarshal(new 
StringReader(writer.toString()));
+        assertTrue(result instanceof JAXBElement);
+        JAXBElement e2 = (JAXBElement)result;
+        assertTrue(e2.getValue() instanceof Exception);
+    }
+}

Propchange: 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/POJOTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/POJOTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



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

Reply via email to