You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by oh...@apache.org on 2007/04/04 12:46:33 UTC
svn commit: r525488 -
/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestHierarchicalConfiguration.java
Author: oheger
Date: Wed Apr 4 03:46:33 2007
New Revision: 525488
URL: http://svn.apache.org/viewvc?view=rev&rev=525488
Log:
Added an additional test for HierarchicalConfiguration.clearTree() after a report on the user list
Modified:
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestHierarchicalConfiguration.java
Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestHierarchicalConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestHierarchicalConfiguration.java?view=diff&rev=525488&r1=525487&r2=525488
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestHierarchicalConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestHierarchicalConfiguration.java Wed Apr 4 03:46:33 2007
@@ -227,6 +227,62 @@
assertNull(config.getProperty("tables.table.fields.field.name"));
}
+ /**
+ * Tests removing more complex node structures.
+ */
+ public void testClearTreeComplex()
+ {
+ final int count = 5;
+ // create the structure
+ for (int idx = 0; idx < count; idx++)
+ {
+ config.addProperty("indexList.index(-1)[@default]", Boolean.FALSE);
+ config.addProperty("indexList.index[@name]", "test" + idx);
+ config.addProperty("indexList.index.dir", "testDir" + idx);
+ }
+ assertEquals("Wrong number of nodes", count - 1, config
+ .getMaxIndex("indexList.index[@name]"));
+
+ // Remove a sub tree
+ boolean found = false;
+ for (int idx = 0; true; idx++)
+ {
+ String name = config.getString("indexList.index(" + idx
+ + ")[@name]");
+ if (name == null)
+ {
+ break;
+ }
+ if ("test3".equals(name))
+ {
+ assertEquals("Wrong dir", "testDir3", config
+ .getString("indexList.index(" + idx + ").dir"));
+ config.clearTree("indexList.index(" + idx + ")");
+ found = true;
+ }
+ }
+ assertTrue("Key to remove not found", found);
+ assertEquals("Wrong number of nodes after remove", count - 2, config
+ .getMaxIndex("indexList.index[@name]"));
+ assertEquals("Wrong number of dir nodes after remove", count - 2,
+ config.getMaxIndex("indexList.index.dir"));
+
+ // Verify
+ for (int idx = 0; true; idx++)
+ {
+ String name = config.getString("indexList.index(" + idx
+ + ")[@name]");
+ if (name == null)
+ {
+ break;
+ }
+ if ("test3".equals(name))
+ {
+ fail("Key was not removed!");
+ }
+ }
+ }
+
public void testContainsKey()
{
assertTrue(config.containsKey("tables.table(0).name"));
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org