1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.yaml.snakeyaml.representer;
17
18 import junit.framework.TestCase;
19
20 import org.yaml.snakeyaml.Yaml;
21
22 public class RepresentFieldTest extends TestCase {
23
24 public void testRepresent1() {
25 Yaml yaml = new Yaml();
26 WrongJavaBean bean = new WrongJavaBean();
27 bean.packageField = "Value";
28 bean.publicField = "Michael Jackson";
29 WrongJavaBean.staticField = "Another value";
30 String output = yaml.dump(bean);
31 assertEquals(
32 "!!org.yaml.snakeyaml.representer.WrongJavaBean {publicField: Michael Jackson}\n",
33 output);
34 }
35
36 public void testWrongNotPublicField() {
37 Yaml yaml = new Yaml();
38 WrongJavaBean bean = new WrongJavaBean();
39 bean.packageField = "Value";
40 try {
41 yaml.load("!!org.yaml.snakeyaml.representer.WrongJavaBean {packageField: Gnome}\n");
42 fail("Only public fields can be used.");
43 } catch (Exception e) {
44 assertTrue(e
45 .getMessage()
46 .startsWith(
47 "null; Can't construct a java object for tag:yaml.org,2002:org.yaml.snakeyaml.representer.WrongJavaBean; exception=Cannot create property=packageField for JavaBean=WrongJavaBean; Unable to find property 'packageField' on class: org.yaml.snakeyaml.representer.WrongJavaBean"));
48 assertEquals(
49 "Cannot create property=packageField for JavaBean=WrongJavaBean; Unable to find property 'packageField' on class: org.yaml.snakeyaml.representer.WrongJavaBean",
50 e.getCause().getMessage());
51 }
52 }
53
54 public void testStaticField() {
55 Yaml yaml = new Yaml();
56 WrongJavaBean.staticField = "Value";
57 try {
58 yaml.load("!!org.yaml.snakeyaml.representer.WrongJavaBean {staticField: Gnome}\n");
59 fail("Static fields cannot be used.");
60 } catch (Exception e) {
61 assertTrue(e
62 .getMessage()
63 .startsWith(
64 "null; Can't construct a java object for tag:yaml.org,2002:org.yaml.snakeyaml.representer.WrongJavaBean; exception=Cannot create property=staticField for JavaBean=WrongJavaBean; Unable to find property 'staticField' on class: org.yaml.snakeyaml.representer.WrongJavaBean"));
65 assertEquals(
66 "Cannot create property=staticField for JavaBean=WrongJavaBean; Unable to find property 'staticField' on class: org.yaml.snakeyaml.representer.WrongJavaBean",
67 e.getCause().getMessage());
68 }
69 }
70 }