KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > jmx > WrapDynaClassTest


1 /*
2  * (c) Rob Gordon 2005
3  */

4 package org.oddjob.jmx;
5
6 import java.io.ByteArrayInputStream JavaDoc;
7 import java.io.ByteArrayOutputStream JavaDoc;
8 import java.io.IOException JavaDoc;
9 import java.io.ObjectInputStream JavaDoc;
10 import java.io.ObjectOutputStream JavaDoc;
11 import java.util.HashMap JavaDoc;
12 import java.util.Map JavaDoc;
13
14 import org.apache.commons.beanutils.DynaProperty;
15 import org.oddjob.framework.WrapDynaClass;
16
17 import junit.framework.TestCase;
18
19 public class WrapDynaClassTest extends TestCase {
20
21     public class Bean {
22         public String JavaDoc getFruit() { return "apples"; }
23     }
24     
25     public void testSerialize() throws IOException JavaDoc, ClassNotFoundException JavaDoc {
26         
27         WrapDynaClass dc = WrapDynaClass.createDynaClass(Bean.class);
28         
29         ByteArrayOutputStream JavaDoc out = new ByteArrayOutputStream JavaDoc();
30         ObjectOutputStream JavaDoc oos = new ObjectOutputStream JavaDoc(out);
31         
32         oos.writeObject(dc);
33         
34         ByteArrayInputStream JavaDoc in = new ByteArrayInputStream JavaDoc(out.toByteArray());
35         ObjectInputStream JavaDoc ois = new ObjectInputStream JavaDoc(in);
36         
37         WrapDynaClass dc2 = (WrapDynaClass) ois.readObject();
38         
39         Map JavaDoc props = new HashMap JavaDoc();
40         DynaProperty[] dps = dc2.getDynaProperties();
41         for (int i = 0; i < dps.length; ++i) {
42             props.put(dps[i].getName(), dps[i].getType());
43         }
44         assertEquals(String JavaDoc.class, props.get("fruit"));
45     }
46 }
47
Popular Tags