henning 2003/07/06 11:14:10 Modified: configuration/src/test/org/apache/commons/configuration TestCompositeConfiguration.java Log: Make sure we can't remove the inMemory configuration from a Composite Configuration object Fix up the test indices, the first added configuration object is now index 0 The testAddingProperty test was quite broken. Fix it up. addProperty means "add property", not "replace property". Revision Changes Path 1.9 +30 -5 jakarta-commons-sandbox/configuration/src/test/org/apache/commons/configuration/TestCompositeConfiguration.java Index: TestCompositeConfiguration.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/configuration/src/test/org/apache/commons/configuration/TestCompositeConfiguration.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- TestCompositeConfiguration.java 18 Jun 2003 17:45:50 -0000 1.8 +++ TestCompositeConfiguration.java 6 Jul 2003 18:14:09 -0000 1.9 @@ -120,6 +120,18 @@ assertEquals("Make sure we get the property from conf1 first", "override.packages", cc.getString("packages")); } + public void testCantRemoveMemoryConfig() throws Exception + { + cc.clear(); + assertEquals(1, cc.getNumberOfConfigurations()); + + Configuration internal = cc.getConfiguration(0); + cc.removeConfiguration(internal); + + assertEquals(1, cc.getNumberOfConfigurations()); + + } + public void testGetPropertyMissing() throws Exception { cc.addConfiguration(conf1); @@ -176,8 +188,8 @@ { cc.addConfiguration(conf1); cc.addConfiguration(dom4jConf); - assertEquals(PropertiesConfiguration.class, cc.getConfiguration(1).getClass()); - assertEquals(DOM4JConfiguration.class, cc.getConfiguration(2).getClass()); + assertEquals(PropertiesConfiguration.class, cc.getConfiguration(0).getClass()); + assertEquals(DOM4JConfiguration.class, cc.getConfiguration(1).getClass()); } /** @@ -193,7 +205,8 @@ } /** - * Tests adding values. Make sure they override any other properties! + * Tests adding values. Make sure they _DON'T_ override any other properties but add to the + * existing properties and keep sequence */ public void testAddingProperty() throws Exception { @@ -201,8 +214,20 @@ cc.addConfiguration(conf1); cc.addConfiguration(dom4jConf); + String [] values = cc.getStringArray("test.short"); + + assertEquals("Number of values before add is wrong!", 2, values.length); + assertEquals("First Value before add is wrong", "1", values[0]); + assertEquals("Second Value is wrong", "8", values[1]); + cc.addProperty("test.short", "88"); - assertEquals("Make sure test.short is overridden!", "88", cc.getString("test.short")); + + values = cc.getStringArray("test.short"); + + assertEquals("Number of values is wrong!", 3, values.length); + assertEquals("First Value is wrong", "1", values[0]); + assertEquals("Second Value is wrong", "8", values[1]); + assertEquals("Third Value is wrong", "88", values[2]); } /**
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]