1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.configuration;
18
19 import java.util.Iterator;
20 import java.util.Map;
21
22 import junit.framework.Test;
23 import junit.framework.TestCase;
24 import junit.framework.TestSuite;
25
26 /***
27 * @author rgladwel
28 */
29 public class TestConfigurationSet extends TestCase {
30
31 ConfigurationMap.ConfigurationSet set;
32
33 String[] properties = {
34 "booleanProperty",
35 "doubleProperty",
36 "floatProperty",
37 "intProperty",
38 "longProperty",
39 "shortProperty",
40 "stringProperty"
41 };
42
43 Object[] values = {
44 Boolean.TRUE,
45 new Double(Double.MAX_VALUE),
46 new Float(Float.MAX_VALUE),
47 new Integer(Integer.MAX_VALUE),
48 new Long(Long.MAX_VALUE),
49 new Short(Short.MAX_VALUE),
50 "This is a string"
51 };
52
53 /***
54 * Construct a new instance of this test case.
55 * @param name Name of the test case
56 */
57 public TestConfigurationSet(String name)
58 {
59 super(name);
60 }
61
62 /***
63 * Set up instance variables required by this test case.
64 */
65 public void setUp() throws Exception
66 {
67 BaseConfiguration configuration = new BaseConfiguration();
68 for(int i = 0; i < properties.length ; i++)
69 configuration.setProperty(properties[i], values[i]);
70 set = new ConfigurationMap.ConfigurationSet(configuration);
71 }
72
73 /***
74 * Return the tests included in this test suite.
75 */
76 public static Test suite()
77 {
78 return (new TestSuite(TestConfigurationSet.class));
79 }
80
81 /***
82 * Tear down instance variables required by this test case.
83 */
84 public void tearDown()
85 {
86 set = null;
87 }
88
89 public void testSize() {
90 assertEquals("Entry set does not match properties size.", properties.length, set.size());
91 }
92
93 /***
94 * Class under test for Iterator iterator()
95 */
96 public void testIterator() {
97 Iterator iterator = set.iterator();
98 while(iterator.hasNext()) {
99 Object object = iterator.next();
100 assertTrue("Entry set iterator did not return EntrySet object, returned "
101 + object.getClass().getName(), object instanceof Map.Entry);
102 Map.Entry entry = (Map.Entry) object;
103 boolean found = false;
104 for(int i = 0; i < properties.length; i++) {
105 if(entry.getKey().equals(properties[i])) {
106 assertEquals("Incorrect value for property " +
107 properties[i],values[i],entry.getValue());
108 found = true;
109 }
110 }
111 assertTrue("Could not find property " + entry.getKey(),found);
112 iterator.remove();
113 }
114 assertTrue("Iterator failed to remove all properties.",set.isEmpty());
115 }
116
117 }