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