1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.yaml.snakeyaml;
18
19 import java.io.StringWriter;
20
21 import junit.framework.TestCase;
22
23 import org.yaml.snakeyaml.DumperOptions.FlowStyle;
24 import org.yaml.snakeyaml.representer.Representer;
25
26 @SuppressWarnings("deprecation")
27 public class JavaBeanDumperTest extends TestCase {
28
29 public void testDumpObjectWriter() {
30 DumpBean bean = new DumpBean();
31 bean.setName("Name1");
32 bean.setNumber(3);
33 JavaBeanDumper dumper = new JavaBeanDumper();
34 String output = dumper.dump(bean);
35 assertEquals("name: Name1\nnumber: 3\n", output);
36 assertEquals(FlowStyle.BLOCK, dumper.getFlowStyle());
37 assertFalse(dumper.isUseGlobalTag());
38
39 dumper.setFlowStyle(FlowStyle.AUTO);
40 output = dumper.dump(bean);
41 assertEquals("{name: Name1, number: 3}\n", output);
42
43 dumper.setUseGlobalTag(true);
44 output = dumper.dump(bean);
45 assertEquals("!!org.yaml.snakeyaml.JavaBeanDumperTest$DumpBean {name: Name1, number: 3}\n",
46 output);
47 }
48
49 public void testDumpObject() {
50 DumpBean bean = new DumpBean();
51 bean.setName("Name2");
52 bean.setNumber(4);
53 JavaBeanDumper dumper = new JavaBeanDumper();
54 StringWriter buffer = new StringWriter();
55 dumper.dump(bean, buffer);
56 assertEquals("name: Name2\nnumber: 4\n", buffer.toString());
57 }
58
59 public void testDumpObject2() {
60 DumpBean bean = new DumpBean();
61 bean.setName("Name2");
62 bean.setNumber(4);
63 JavaBeanDumper dumper = new JavaBeanDumper();
64 StringWriter buffer = new StringWriter();
65 dumper.dump(bean, buffer);
66 assertEquals("name: Name2\nnumber: 4\n", buffer.toString());
67 String output = dumper.dump(bean);
68 assertEquals("name: Name2\nnumber: 4\n", output);
69 }
70
71 public void testDumpObjectNullRepresenter() {
72 try {
73 new JavaBeanDumper(null, new DumperOptions());
74 fail();
75 } catch (NullPointerException e) {
76 assertEquals("Representer must be provided.", e.getMessage());
77 }
78 }
79
80 public void testDumpObjectNullOptions() {
81 try {
82 new JavaBeanDumper(new Representer(), null);
83 fail();
84 } catch (NullPointerException e) {
85 assertEquals("DumperOptions must be provided.", e.getMessage());
86 }
87 }
88
89 public static class DumpBean {
90 private String name;
91 private int number;
92
93 public String getName() {
94 return name;
95 }
96
97 public void setName(String name) {
98 this.name = name;
99 }
100
101 public int getNumber() {
102 return number;
103 }
104
105 public void setNumber(int number) {
106 this.number = number;
107 }
108 }
109 }