1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package examples.staticstate;
17
18 import junit.framework.TestCase;
19
20 import org.yaml.snakeyaml.TypeDescription;
21 import org.yaml.snakeyaml.Yaml;
22 import org.yaml.snakeyaml.constructor.Constructor;
23 import org.yaml.snakeyaml.nodes.Tag;
24 import org.yaml.snakeyaml.representer.Representer;
25
26
27
28
29 public class StaticFieldsWrapperTest extends TestCase {
30
31
32
33
34 public void testWrapper() {
35 JavaBeanWithStaticState bean = new JavaBeanWithStaticState();
36 bean.setName("Bahrack");
37 bean.setAge(-47);
38 JavaBeanWithStaticState.setType("Type3");
39 JavaBeanWithStaticState.color = "Violet";
40 Yaml yaml = new Yaml();
41 String output = yaml.dump(new Wrapper(bean));
42
43 assertEquals(
44 "!!examples.staticstate.Wrapper {age: -47, color: Violet, name: Bahrack, type: Type3}\n",
45 output);
46
47 Wrapper wrapper = (Wrapper) yaml.load(output);
48 JavaBeanWithStaticState bean2 = wrapper.createBean();
49 assertEquals(-47, bean2.getAge());
50 assertEquals("Bahrack", bean2.getName());
51 }
52
53
54
55
56 public void testLocalTag() {
57 JavaBeanWithStaticState bean = new JavaBeanWithStaticState();
58 bean.setName("Bahrack");
59 bean.setAge(-47);
60 JavaBeanWithStaticState.setType("Type3");
61 JavaBeanWithStaticState.color = "Violet";
62 Representer repr = new Representer();
63 repr.addClassTag(Wrapper.class, new Tag("!mybean"));
64 Yaml yaml = new Yaml(repr);
65 String output = yaml.dump(new Wrapper(bean));
66
67 assertEquals("!mybean {age: -47, color: Violet, name: Bahrack, type: Type3}\n", output);
68
69 Constructor constr = new Constructor();
70 TypeDescription description = new TypeDescription(Wrapper.class, new Tag("!mybean"));
71 constr.addTypeDescription(description);
72 yaml = new Yaml(constr);
73 Wrapper wrapper = (Wrapper) yaml.load(output);
74 JavaBeanWithStaticState bean2 = wrapper.createBean();
75 assertEquals(-47, bean2.getAge());
76 assertEquals("Bahrack", bean2.getName());
77 }
78
79
80
81
82 public void testRootBean() {
83 JavaBeanWithStaticState bean = new JavaBeanWithStaticState();
84 bean.setName("Bahrack");
85 bean.setAge(-47);
86 JavaBeanWithStaticState.setType("Type3");
87 JavaBeanWithStaticState.color = "Violet";
88 Yaml yaml = new Yaml();
89 String output = yaml.dumpAsMap(new Wrapper(bean));
90
91 assertEquals("age: -47\ncolor: Violet\nname: Bahrack\ntype: Type3\n", output);
92
93 Yaml loader = new Yaml();
94 Wrapper wrapper = loader.loadAs(output, Wrapper.class);
95 JavaBeanWithStaticState bean2 = wrapper.createBean();
96 assertEquals(-47, bean2.getAge());
97 assertEquals("Bahrack", bean2.getName());
98 }
99
100 }