1 package test.tuigwaa;
2
3 import java.util.Calendar;
4 import java.util.Date;
5
6 import junit.framework.TestCase;
7
8 import com.isenshi.util.extlib.DiconResource;
9
10 public class DiconResourceTest extends TestCase {
11
12 public void testRef() {
13 Bean bean = new Bean("test");
14 Component component = new Component(bean);
15
16 DiconResource resource = new DiconResource();
17 resource.addComponent(bean);
18 resource.addComponent(component);
19 resource.addRefComponent(bean);
20 resource.setPath("hoge.dicon");
21 resource.save(System.out);
22 resource.save();
23
24 DiconResource inResource = new DiconResource();
25 inResource.setPath("hoge.dicon");
26 inResource.load();
27 Component loadedComponent = (Component)inResource.getComponent(Component.class);
28
29 assertEquals("test",loadedComponent.getBean().getName());
30
31 }
32
33 public void testArray(){
34 Component component = new Component();
35 component.setNums(new Integer[]{new Integer(2), new Integer(3)});
36
37 DiconResource resource = new DiconResource();
38 resource.addComponent(component);
39 resource.setPath("hoge.dicon");
40 resource.save(System.out);
41 resource.save();
42
43 DiconResource inResource = new DiconResource();
44 inResource.setPath("hoge.dicon");
45 inResource.load();
46 Component loadedComponent = (Component)inResource.getComponent(Component.class);
47
48 assertEquals(2,loadedComponent.getNums()[0].intValue());
49 assertEquals(3,loadedComponent.getNums()[1].intValue());
50 }
51
52
53
54 public void testPrimitive(){
55 PrimitiveBean bean = new PrimitiveBean();
56 bean.setFlag(true);
57
58
59 DiconResource resource = new DiconResource();
60 resource.addComponent(bean);
61 resource.setPath("pri.dicon");
62 resource.save(System.out);
63 resource.save();
64
65 DiconResource inResource = new DiconResource();
66 inResource.setPath("pri.dicon");
67 inResource.load();
68 PrimitiveBean loadedBean = (PrimitiveBean)inResource.getComponent(PrimitiveBean.class);
69
70 assertTrue(loadedBean.isFlag());
71 }
72
73 public void testDate(){
74 Component c = new Component();
75
76 Calendar cal = Calendar.getInstance();
77 c.setDate(cal.getTime());
78
79 DiconResource resource = new DiconResource();
80 resource.addComponent(c);
81 resource.setPath("hoge.dicon");
82 resource.save(System.out);
83 resource.save();
84
85 DiconResource inResource = new DiconResource();
86 inResource.setPath("hoge.dicon");
87 inResource.load();
88 Component loadedC = (Component)inResource.getComponent(Component.class);
89
90 Calendar cal2 = Calendar.getInstance();
91 cal2.setTime(loadedC.getDate());
92
93 assertEquals(cal.get(Calendar.YEAR), cal2.get(Calendar.YEAR));
94 }
95
96 public static class PrimitiveBean{
97
98 private boolean flag = false;
99
100 public void setFlag(boolean flag) {
101 this.flag = flag;
102 }
103
104 public boolean isFlag() {
105 return flag;
106 }
107 }
108
109
110 public static class Component{
111
112 private Bean bean;
113
114 private Integer[] nums;
115
116 private Date date;
117
118 public Date getDate() {
119 return date;
120 }
121
122 public void setDate(Date date) {
123 this.date = date;
124 }
125
126 public Integer[] getNums() {
127 return nums;
128 }
129
130 public void setNums(Integer[] nums) {
131 this.nums = nums;
132 }
133
134 public Component(){
135 }
136
137 public Component(Bean bean){
138 setBean(bean);
139 }
140
141 public Bean getBean(){
142 return bean;
143 }
144
145 public void setBean(Bean bean){
146 this.bean = bean;
147 }
148
149 }
150
151 public static class Bean {
152
153 private String name;
154
155 public Bean(){
156
157 }
158
159 public Bean(String name) {
160 this.name = name;
161 }
162
163 public void setName(String name) {
164 this.name = name;
165 }
166
167 public String getName() {
168 return name;
169 }
170
171 }
172 }