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]

Reply via email to