1
2
3
4
5
6
7
8
9
10
11 package org.mule.transformers.xml;
12
13 import org.mule.module.xml.transformer.XStreamFactory;
14 import org.mule.tck.junit4.AbstractMuleTestCase;
15 import org.mule.util.StringUtils;
16
17 import com.thoughtworks.xstream.XStream;
18
19 import java.util.Map;
20 import java.util.concurrent.ConcurrentHashMap;
21
22 import org.junit.Test;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertTrue;
27
28 public class XStreamFactoryTestCase extends AbstractMuleTestCase
29 {
30 @Test
31 public void testConcurrentHashMapConverter()
32 throws ClassNotFoundException, IllegalAccessException, InstantiationException
33 {
34 ConcurrentHashMap<Object, Object> map = new ConcurrentHashMap<Object, Object>();
35 map.put("foo", "bar");
36
37 XStream xstream = new XStreamFactory().getInstance();
38 String mapXML = xstream.toXML(map);
39 assertNotNull(mapXML);
40 assertTrue(StringUtils.isNotEmpty(mapXML));
41
42 Object newMap = xstream.fromXML(mapXML);
43 assertNotNull(newMap);
44 assertTrue(newMap instanceof ConcurrentHashMap);
45 assertEquals(1, ((Map<?, ?>) newMap).size());
46 assertEquals("bar", ((Map<?, ?>) newMap).get("foo"));
47 }
48 }