1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.yaml.snakeyaml;
17
18 import java.util.ArrayList;
19 import java.util.List;
20 import java.util.Map;
21 import java.util.TreeMap;
22
23 import junit.framework.TestCase;
24
25 public class CollectionWithBeanYamlTest extends TestCase {
26
27 @SuppressWarnings("unchecked")
28 public void testYamlMap() {
29 Map<String, Bean> data = new TreeMap<String, Bean>();
30 data.put("gold1", new Bean());
31 data.put("gold2", new Bean());
32
33 Yaml yaml = new Yaml();
34 String output = yaml.dump(data);
35 assertEquals(
36 "gold1: !!org.yaml.snakeyaml.CollectionWithBeanYamlTest$Bean {a: ''}\ngold2: !!org.yaml.snakeyaml.CollectionWithBeanYamlTest$Bean {a: ''}\n",
37 output);
38 Object o = yaml.load(output);
39
40 assertTrue(o instanceof Map);
41 Map<String, Bean> m = (Map<String, Bean>) o;
42 assertTrue(m.get("gold1") instanceof Bean);
43 assertTrue("" + m.get("gold2").getClass(), m.get("gold2") instanceof Bean);
44 }
45
46 @SuppressWarnings("unchecked")
47 public void testYamlList() {
48 List<Bean> data = new ArrayList<Bean>();
49 data.add(new Bean("1"));
50 data.add(new Bean("2"));
51
52 Yaml yaml = new Yaml();
53 String output = yaml.dump(data);
54 assertEquals(
55 "- !!org.yaml.snakeyaml.CollectionWithBeanYamlTest$Bean {a: '1'}\n- !!org.yaml.snakeyaml.CollectionWithBeanYamlTest$Bean {a: '2'}\n",
56 output);
57 Object o = yaml.load(output);
58
59 assertTrue(o instanceof List);
60 List<Bean> m = (List<Bean>) o;
61 assertEquals(2, m.size());
62 assertTrue(m.get(0) instanceof Bean);
63 assertTrue(m.get(1) instanceof Bean);
64 }
65
66 public static class Bean {
67 private String a;
68
69 public Bean() {
70 a = "";
71 }
72
73 public Bean(String value) {
74 a = value;
75 }
76
77 public String getA() {
78 return a;
79 }
80
81 public void setA(String s) {
82 a = s;
83 }
84 }
85 }