scolebourne    2003/10/30 17:24:33

  Modified:    collections/src/test/org/apache/commons/collections
                        AbstractTestMap.java
  Log:
  Allow subclasses to change the confirmed map
  Ensure views pickup correct serialization methods
  
  Revision  Changes    Path
  1.9       +33 -12    
jakarta-commons/collections/src/test/org/apache/commons/collections/AbstractTestMap.java
  
  Index: AbstractTestMap.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/AbstractTestMap.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AbstractTestMap.java      10 Oct 2003 21:19:39 -0000      1.8
  +++ AbstractTestMap.java      31 Oct 2003 01:24:32 -0000      1.9
  @@ -412,6 +412,15 @@
           return makeEmptyMap();
       }
   
  +    /**
  +     * Override to return a map other than HashMap as the confirmed map.
  +     * 
  +     * @return a map that is known to be valid
  +     */
  +    protected Map makeConfirmedMap() {
  +        return new HashMap();
  +    }
  +
       //-----------------------------------------------------------------------
       /**
        * Test to ensure the test setup is working properly.  This method checks
  @@ -841,7 +850,7 @@
   
           resetEmpty();
   
  -        m2 = new HashMap();
  +        m2 = makeConfirmedMap();
           Object[] keys = getSampleKeys();
           Object[] values = getSampleValues();
           for(int i = 0; i < keys.length; i++) {
  @@ -1056,7 +1065,7 @@
       private Map.Entry[] makeEntryArray(Object[] keys, Object[] values) {
           Map.Entry[] result = new Map.Entry[keys.length];
           for (int i = 0; i < keys.length; i++) {
  -            Map map = new HashMap();
  +            Map map = makeConfirmedMap();
               map.put(keys[i], values[i]);
               result[i] = (Map.Entry) map.entrySet().iterator().next();
           }
  @@ -1107,11 +1116,16 @@
               // Collection views don't support add operations.
               return false;
           }
  -        
           protected boolean isRemoveSupported() {
               // Entry set should only support remove if map does
               return AbstractTestMap.this.isRemoveSupported();
           }
  +        protected boolean supportsEmptyCollections() {
  +            return AbstractTestMap.this.supportsEmptyCollections();
  +        }
  +        protected boolean supportsFullCollections() {
  +            return AbstractTestMap.this.supportsFullCollections();
  +        }
           
           protected void resetFull() {
               AbstractTestMap.this.resetFull();
  @@ -1167,14 +1181,18 @@
           protected boolean isNullSupported() {
               return AbstractTestMap.this.isAllowNullKey();
           }
  -        
           protected boolean isAddSupported() {
               return false;
           }
  -        
           protected boolean isRemoveSupported() {
               return AbstractTestMap.this.isRemoveSupported();
           }
  +        protected boolean supportsEmptyCollections() {
  +            return AbstractTestMap.this.supportsEmptyCollections();
  +        }
  +        protected boolean supportsFullCollections() {
  +            return AbstractTestMap.this.supportsFullCollections();
  +        }
           
           protected void resetEmpty() {
               AbstractTestMap.this.resetEmpty();
  @@ -1232,14 +1250,18 @@
           protected boolean isNullSupported() {
               return AbstractTestMap.this.isAllowNullKey();
           }
  -        
           protected boolean isAddSupported() {
               return false;
           }
  -        
           protected boolean isRemoveSupported() {
               return AbstractTestMap.this.isRemoveSupported();
           }
  +        protected boolean supportsEmptyCollections() {
  +            return AbstractTestMap.this.supportsEmptyCollections();
  +        }
  +        protected boolean supportsFullCollections() {
  +            return AbstractTestMap.this.supportsFullCollections();
  +        }
   
           protected boolean areEqualElementsDistinguishable() {
               // equal values are associated with different keys, so they are
  @@ -1287,10 +1309,9 @@
       protected void resetEmpty() {
           this.map = makeEmptyMap();
           views();
  -        this.confirmed = new HashMap();
  +        this.confirmed = makeConfirmedMap();
       }
   
  -
       /**
        * Resets the [EMAIL PROTECTED] #map}, [EMAIL PROTECTED] #entrySet}, [EMAIL 
PROTECTED] #keySet},
        * [EMAIL PROTECTED] #values} and [EMAIL PROTECTED] #confirmed} fields to full.
  @@ -1298,7 +1319,7 @@
       protected void resetFull() {
           this.map = makeFullMap();
           views();
  -        this.confirmed = new HashMap();
  +        this.confirmed = makeConfirmedMap();
           Object[] k = getSampleKeys();
           Object[] v = getSampleValues();
           for (int i = 0; i < k.length; i++) {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to