package org.fireflow.engine.modules.persistence.hibernate; import java.util.Map; import java.util.Properties; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; public class PropertiesStringTypeTest { private static Properties mapOriginal = new Properties(); private static Properties emptyMapOriginal = new Properties(); String mapXml = null; String emptyMapXml = null; @BeforeClass public static void setUP(){ mapOriginal.put("key1", "abc"); mapOriginal.put("key2", "a;ksdfj3\"kfda;jfd=="); mapOriginal.put("key3", ""); mapOriginal.put("key4", "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Map></Map>"); } @Test public void testDisassemble() { VariableHeaderType type = new VariableHeaderType(); mapXml = (String)type.map2XmlString(mapOriginal); Assert.assertNotNull(mapXml); System.out.println(mapXml); emptyMapXml = (String)type.map2XmlString(emptyMapOriginal); Assert.assertNotNull(emptyMapXml); System.out.println(emptyMapXml); } @Test public void testAssemble() { testDisassemble();//首先生成xml VariableHeaderType type = new VariableHeaderType(); Properties map1 = (Properties)type.xmlString2Map(mapXml); Assert.assertNotNull(map1); Assert.assertEquals(4, map1.size()); Assert.assertTrue(map1.containsKey("key1")); Assert.assertEquals(mapOriginal.get("key1"), map1.get("key1")); Assert.assertTrue(map1.containsKey("key2")); Assert.assertEquals(mapOriginal.get("key2"), map1.get("key2")); Assert.assertTrue(map1.containsKey("key3")); Assert.assertEquals(mapOriginal.get("key3"), map1.get("key3")); Assert.assertTrue(map1.containsKey("key4")); Assert.assertEquals(mapOriginal.get("key4"), map1.get("key4")); Properties map2 = (Properties)type.xmlString2Map(emptyMapXml); Assert.assertNotNull(map2); Assert.assertEquals(0, map2.size()); String s = (String)type.map2XmlString(map1); System.out.println("================================="); System.out.println(s); } }