1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.yaml.snakeyaml.issues.issue48;
18
19 import java.io.IOException;
20
21 import junit.framework.TestCase;
22
23 import org.yaml.snakeyaml.Yaml;
24 import org.yaml.snakeyaml.introspector.Property;
25 import org.yaml.snakeyaml.nodes.NodeTuple;
26 import org.yaml.snakeyaml.nodes.Tag;
27 import org.yaml.snakeyaml.representer.Representer;
28
29 public class SkipJavaBeanPropertyTest extends TestCase {
30 public void testWithNull() throws IOException {
31 Bean bean = new Bean();
32 bean.setValue(3);
33 Yaml yaml = new Yaml();
34 String output = yaml.dumpAsMap(bean);
35
36 assertEquals("name: null\nvalue: 3\n", output);
37 }
38
39 public void testWithoutNull() throws IOException {
40 Bean bean = new Bean();
41 bean.setValue(5);
42 Yaml yaml = new Yaml(new MyRepresenter());
43 String output = yaml.dumpAsMap(bean);
44
45 assertEquals("value: 5\n", output);
46 }
47
48 private class MyRepresenter extends Representer {
49 @Override
50 protected NodeTuple representJavaBeanProperty(Object bean, Property property, Object value,
51 Tag customTag) {
52 if (value != null) {
53 return super.representJavaBeanProperty(bean, property, value, customTag);
54 } else {
55 return null;
56 }
57 }
58 }
59 }