add TypeSafeMap2Test
diff --git a/src/main/java/org/yaml/snakeyaml/representer/Representer.java b/src/main/java/org/yaml/snakeyaml/representer/Representer.java
index df65b06..5ef904b 100644
--- a/src/main/java/org/yaml/snakeyaml/representer/Representer.java
+++ b/src/main/java/org/yaml/snakeyaml/representer/Representer.java
@@ -169,17 +169,6 @@
valueNode.setTag(Tags.MAP);
}
}
- // if (tuple.getKeyNode() instanceof ScalarNode) {
- // ScalarNode n = (ScalarNode) tuple.getKeyNode();
- // Object v = map.get(n.getValue());
- // if (v != null) {
- // if (valueType.equals(v.getClass())
- // && tuple.getValueNode().getNodeId() ==
- // NodeId.mapping) {
- // tuple.getValueNode().setTag(Tags.MAP);
- // }
- // }
- // }
}
}
}
diff --git a/src/test/java/examples/collections/TypeSafeMap2Test.java b/src/test/java/examples/collections/TypeSafeMap2Test.java
index 596ad08..bbf78a7 100644
--- a/src/test/java/examples/collections/TypeSafeMap2Test.java
+++ b/src/test/java/examples/collections/TypeSafeMap2Test.java
@@ -15,12 +15,14 @@
*/
package examples.collections;
+import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
+import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
/**
@@ -45,27 +47,38 @@
assertEquals(etalon, output);
}
- // public void testLoadMap() {
- // String output = Util.getLocalResource("examples/map-bean-10.yaml");
- // // System.out.println(output);
- // JavaBeanLoader<MapBean2> beanLoader = new
- // JavaBeanLoader<MapBean2>(MapBean2.class);
- // MapBean2 parsed = beanLoader.load(output);
- // assertNotNull(parsed);
- // Map<String, Integer> data = parsed.getData();
- // assertEquals(3, data.size());
- // assertEquals(new Integer(1), data.get("aaa"));
- // assertEquals(new Integer(2), data.get("bbb"));
- // assertEquals(new Integer(3), data.get("zzz"));
- // Map<String, Developer2> developers = parsed.getDevelopers();
- // assertEquals(2, developers.size());
- // assertEquals("Developer must be recognised.", Developer2.class,
- // developers.get("team1")
- // .getClass());
- // Developer2 fred = developers.get("team1");
- // assertEquals("Fred", fred.getName());
- // assertEquals("creator", fred.getRole());
- // }
+ public void testLoadMap() {
+ String output = Util.getLocalResource("examples/map-bean-12.yaml");
+ // System.out.println(output);
+ JavaBeanLoader<MapBean2> beanLoader = new JavaBeanLoader<MapBean2>(MapBean2.class);
+ MapBean2 parsed = beanLoader.load(output);
+ assertNotNull(parsed);
+ Map<Developer2, Color> data = parsed.getData();
+ assertEquals(2, data.size());
+ Iterator<Developer2> iter = data.keySet().iterator();
+ Developer2 first = iter.next();
+ assertEquals("Andy", first.getName());
+ assertEquals("tester", first.getRole());
+ assertEquals(Color.BLACK, data.get(first));
+ Developer2 second = iter.next();
+ assertEquals("Lisa", second.getName());
+ assertEquals("owner", second.getRole());
+ assertEquals(Color.RED, data.get(second));
+ //
+ Map<Color, Developer2> developers = parsed.getDevelopers();
+ assertEquals(2, developers.size());
+ Iterator<Color> iter2 = developers.keySet().iterator();
+ Color firstColor = iter2.next();
+ assertEquals(Color.WHITE, firstColor);
+ Developer2 dev1 = developers.get(firstColor);
+ assertEquals("Fred", dev1.getName());
+ assertEquals("creator", dev1.getRole());
+ Color secondColor = iter2.next();
+ assertEquals(Color.BLACK, secondColor);
+ Developer2 dev2 = developers.get(secondColor);
+ assertEquals("John", dev2.getName());
+ assertEquals("committer", dev2.getRole());
+ }
public static enum Color {
WHITE, BLACK, RED;