1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.configuration;
19
20 import java.util.HashMap;
21 import java.util.Map;
22
23 import org.apache.commons.configuration.event.ConfigurationEvent;
24 import org.apache.commons.configuration.event.ConfigurationListener;
25
26 /***
27 * Tests for MapConfiguration.
28 *
29 * @author Emmanuel Bourg
30 * @version $Revision: 515306 $, $Date: 2007-03-06 22:15:00 +0100 (Di, 06 Mrz 2007) $
31 */
32 public class TestMapConfiguration extends TestAbstractConfiguration
33 {
34 protected AbstractConfiguration getConfiguration()
35 {
36 Map map = new HashMap();
37 map.put("key1", "value1");
38 map.put("key2", "value2");
39 map.put("list", "value1, value2");
40 map.put("listesc", "value1//,value2");
41
42 return new MapConfiguration(map);
43 }
44
45 protected AbstractConfiguration getEmptyConfiguration()
46 {
47 return new MapConfiguration(new HashMap());
48 }
49
50 public void testGetMap()
51 {
52 Map map = new HashMap();
53
54 MapConfiguration conf = new MapConfiguration(map);
55 assertEquals(map, conf.getMap());
56 }
57
58 public void testClone()
59 {
60 MapConfiguration config = (MapConfiguration) getConfiguration();
61 MapConfiguration copy = (MapConfiguration) config.clone();
62 StrictConfigurationComparator comp = new StrictConfigurationComparator();
63 assertTrue("Configurations are not equal", comp.compare(config, copy));
64 }
65
66 /***
67 * Tests if the cloned configuration decoupled from the original.
68 */
69 public void testCloneModify()
70 {
71 MapConfiguration config = (MapConfiguration) getConfiguration();
72 config.addConfigurationListener(new ConfigurationListener()
73 {
74 public void configurationChanged(ConfigurationEvent event)
75 {
76
77 }
78 });
79 MapConfiguration copy = (MapConfiguration) config.clone();
80 assertTrue("Event listeners were copied", copy
81 .getConfigurationListeners().isEmpty());
82
83 config.addProperty("cloneTest", Boolean.TRUE);
84 assertFalse("Map not decoupled", copy.containsKey("cloneTest"));
85 copy.clearProperty("key1");
86 assertEquals("Map not decoupled (2)", "value1", config
87 .getString("key1"));
88 }
89 }