1 package com.thoughtworks.xstream.objecttree.reflection;
2
3 import com.thoughtworks.someobjects.X;
4 import com.thoughtworks.someobjects.Y;
5 import com.thoughtworks.xstream.objecttree.ObjectTree;
6 import junit.framework.TestCase;
7
8 public class ObjectGraphReaderTest extends TestCase {
9 private X x;
10 private Y y;
11 private ObjectTree reader;
12 private ObjectFactory objectFactory = new SunReflectionObjectFactory();
13
14 protected void setUp() throws Exception {
15 super.setUp();
16 x = new X();
17 x.aStr = "hello";
18 x.anInt = 22;
19
20 y = new Y();
21 y.yField = "world";
22 x.innerObj = y;
23
24 reader = new ReflectionObjectGraph(x, objectFactory);
25 }
26
27 public void testReadsSimpleFieldsOfAnObject() {
28 reader.push("aStr");
29 assertEquals("hello", reader.get());
30 reader.pop();
31
32 reader.push("anInt");
33 assertEquals(new Integer(22), reader.get());
34 reader.pop();
35
36 reader.push("innerObj");
37 assertEquals(y, reader.get());
38 reader.pop();
39 }
40
41 public void testReadsFieldsOfNestedObjects() {
42 reader.push("aStr");
43 assertEquals("hello", reader.get());
44 reader.pop();
45
46 reader.push("innerObj");
47 reader.push("yField");
48 assertEquals("world", reader.get());
49 reader.pop();
50 reader.pop();
51
52 reader.push("anInt");
53 assertEquals(new Integer(22), reader.get());
54 reader.pop();
55 }
56
57 }
This page was automatically generated by Maven