ebourg 2004/06/22 02:56:38 Modified: configuration/src/java/org/apache/commons/configuration ConfigurationComparator.java StrictConfigurationComparator.java configuration/src/test/org/apache/commons/configuration TestStrictConfigurationComparator.java Log: Better test coverage for StrictConfigurationComparator Revision Changes Path 1.3 +6 -2 jakarta-commons/configuration/src/java/org/apache/commons/configuration/ConfigurationComparator.java Index: ConfigurationComparator.java =================================================================== RCS file: /home/cvs/jakarta-commons/configuration/src/java/org/apache/commons/configuration/ConfigurationComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ConfigurationComparator.java 27 Feb 2004 17:41:35 -0000 1.2 +++ ConfigurationComparator.java 22 Jun 2004 09:56:38 -0000 1.3 @@ -1,5 +1,3 @@ -package org.apache.commons.configuration; - /* * Copyright 2001-2004 The Apache Software Foundation. * @@ -16,9 +14,15 @@ * limitations under the License. */ +package org.apache.commons.configuration; + /** * Comparator for configurations interface. * + * @since 1.0 + * + * @author <a href="mailto:[EMAIL PROTECTED]">Herve Quiroz</a> + * @version $Revision$, $Date$ */ public interface ConfigurationComparator { 1.3 +19 -12 jakarta-commons/configuration/src/java/org/apache/commons/configuration/StrictConfigurationComparator.java Index: StrictConfigurationComparator.java =================================================================== RCS file: /home/cvs/jakarta-commons/configuration/src/java/org/apache/commons/configuration/StrictConfigurationComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- StrictConfigurationComparator.java 27 Feb 2004 17:41:35 -0000 1.2 +++ StrictConfigurationComparator.java 22 Jun 2004 09:56:38 -0000 1.3 @@ -1,5 +1,3 @@ -package org.apache.commons.configuration; - /* * Copyright 2001-2004 The Apache Software Foundation. * @@ -16,11 +14,18 @@ * limitations under the License. */ +package org.apache.commons.configuration; + import java.util.Iterator; /** * Strict comparator for configurations. * + * @since 1.0 + * + * @author <a href="mailto:[EMAIL PROTECTED]">Herve Quiroz</a> + * @author <a href="mailto:[EMAIL PROTECTED]">Yoav Shapira</a> + * @version $Revision$, $Date$ */ public class StrictConfigurationComparator implements ConfigurationComparator { @@ -42,33 +47,35 @@ */ public boolean compare(Configuration a, Configuration b) { - if ((a == null) && (b == null)) + if (a == null && b == null) { return true; } - else if (a == null) - { - return false; - } - else if (b == null) + else if (a == null || b == null) { return false; } - for (Iterator i = a.getKeys(); i.hasNext();) + for (Iterator keys = a.getKeys(); keys.hasNext();) { - String key = (String) i.next(); + String key = (String) keys.next(); Object value = a.getProperty(key); if (!value.equals(b.getProperty(key))) + { return false; + } } - for (Iterator i = b.getKeys(); i.hasNext();) + + for (Iterator keys = b.getKeys(); keys.hasNext();) { - String key = (String) i.next(); + String key = (String) keys.next(); Object value = b.getProperty(key); if (!value.equals(a.getProperty(key))) + { return false; + } } + return true; } } 1.4 +11 -4 jakarta-commons/configuration/src/test/org/apache/commons/configuration/TestStrictConfigurationComparator.java Index: TestStrictConfigurationComparator.java =================================================================== RCS file: /home/cvs/jakarta-commons/configuration/src/test/org/apache/commons/configuration/TestStrictConfigurationComparator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestStrictConfigurationComparator.java 2 Jun 2004 17:18:01 -0000 1.3 +++ TestStrictConfigurationComparator.java 22 Jun 2004 09:56:38 -0000 1.4 @@ -1,5 +1,3 @@ -package org.apache.commons.configuration; - /* * Copyright 2001-2004 The Apache Software Foundation. * @@ -16,19 +14,21 @@ * limitations under the License. */ +package org.apache.commons.configuration; + import junit.framework.TestCase; /** * Tests the StrintConfigurationComparator class * + * @version $Revision$, $Date$ */ public class TestStrictConfigurationComparator extends TestCase { /** * The comparator. */ - protected StrictConfigurationComparator comparator = - new StrictConfigurationComparator(); + protected ConfigurationComparator comparator = new StrictConfigurationComparator(); /** * The first configuration. @@ -78,5 +78,12 @@ assertTrue( "Compare our configuration with another that is identical", comparator.compare(configuration, other)); + } + + public void testCompareNull() + { + assertTrue(comparator.compare(null, null)); + assertFalse(comparator.compare(configuration, null)); + assertFalse(comparator.compare(null, configuration)); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]