From e7ea37d1a7f1d3ac944226198ec4003cdc446e29 Mon Sep 17 00:00:00 2001 From: Stephen Colebourne Date: Tue, 7 Oct 2003 22:20:58 +0000 Subject: [PATCH] Enhance Map tests pre-release of testframework git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk@131255 13f79535-47bb-0310-9956-ffa450edef68 --- .../commons/collections/AbstractTestMap.java | 326 +++++++++++------- .../collections/AbstractTestSortedMap.java | 6 +- .../commons/collections/TestBeanMap.java | 49 ++- .../commons/collections/TestBidiMap.java | 6 +- .../collections/TestDoubleOrderedMap.java | 10 +- .../commons/collections/TestFastHashMap.java | 6 +- .../commons/collections/TestFastTreeMap.java | 8 +- .../commons/collections/TestMapUtils.java | 8 +- .../commons/collections/TestReferenceMap.java | 8 +- .../commons/collections/TestTreeMap.java | 6 +- .../decorators/TestFixedSizeMap.java | 10 +- .../decorators/TestFixedSizeSortedMap.java | 10 +- .../decorators/TestLazySortedMap.java | 6 +- .../decorators/TestPredicatedSortedMap.java | 6 +- .../decorators/TestUnmodifiableMap.java | 12 +- 15 files changed, 288 insertions(+), 189 deletions(-) diff --git a/src/test/org/apache/commons/collections/AbstractTestMap.java b/src/test/org/apache/commons/collections/AbstractTestMap.java index 20ef4317a..e88a519e8 100644 --- a/src/test/org/apache/commons/collections/AbstractTestMap.java +++ b/src/test/org/apache/commons/collections/AbstractTestMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/AbstractTestMap.java,v 1.3 2003/10/05 20:47:37 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/AbstractTestMap.java,v 1.4 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -79,32 +79,33 @@ import java.util.Set; * override one or more of the other protected methods. They're described * below. *

- * Entry Population Methods

- * + * Entry Population Methods + *

* Override these methods if your map requires special entries: + * + *

* - * - * - * Supported Operation Methods

- * + * Supported Operation Methods + *

* Override these methods if your map doesn't support certain operations: * - *

- * - * Fixture Methods

+ *

* + * Fixture Methods + *

* For tests on modification operations (puts and removes), fixtures are used * to verify that that operation results in correct state for the map and its * collection views. Basically, the modification is performed against your @@ -139,19 +140,19 @@ import java.util.Set; * {@link #verifyValues()} method to verify that the values are unique and in * ascending order.

* - * Other Notes

- * + * Other Notes + *

* If your {@link Map} fails one of these tests by design, you may still use - * this base set of cases. Simply override the test case (method) your {@link - * Map} fails and/or the methods that define the assumptions used by the test + * this base set of cases. Simply override the test case (method) your map + * fails and/or the methods that define the assumptions used by the test * cases. For example, if your map does not allow duplicate values, override - * {@link #useDuplicateValues()} and have it return false + * {@link #isAllowDuplicateValues()} and have it return false * * @author Michael Smith * @author Rodney Waldhoff * @author Paul Jack * @author Stephen Colebourne - * @version $Revision: 1.3 $ $Date: 2003/10/05 20:47:37 $ + * @version $Revision: 1.4 $ $Date: 2003/10/07 22:20:57 $ */ public abstract class AbstractTestMap extends AbstractTestObject { @@ -179,7 +180,6 @@ public abstract class AbstractTestMap extends AbstractTestObject { /** HashMap created by reset(). */ protected Map confirmed; - /** * JUnit constructor. * @@ -189,44 +189,77 @@ public abstract class AbstractTestMap extends AbstractTestObject { super(testName); } - /** - * Override if your map does not allow a null key. The - * default implementation returns true + * Returns true if the maps produced by + * {@link #makeEmptyMap()} and {@link #makeFullMap()} + * support the put and putAll operations + * adding new mappings. + *

+ * Default implementation returns true. + * Override if your collection class does not support put adding. */ - protected boolean useNullKey() { + protected boolean isPutAddSupported() { return true; } /** - * Override if your map does not allow null values. The - * default implementation returns true. + * Returns true if the maps produced by + * {@link #makeEmptyMap()} and {@link #makeFullMap()} + * support the put and putAll operations + * changing existing mappings. + *

+ * Default implementation returns true. + * Override if your collection class does not support put changing. */ - protected boolean useNullValue() { + protected boolean isPutChangeSupported() { return true; } /** - * Override if your map does not allow duplicate values. The default - * implementation returns true. + * Returns true if the maps produced by + * {@link #makeEmptyMap()} and {@link #makeFullMap()} + * support the remove and clear operations. + *

+ * Default implementation returns true. + * Override if your collection class does not support removal operations. */ - protected boolean useDuplicateValues() { + protected boolean isRemoveSupported() { return true; } /** - * Override if your map allows its mappings to be changed to new values. - * The default implementation returns true. + * Returns true if the maps produced by + * {@link #makeEmptyMap()} and {@link #makeFullMap()} + * supports null keys. + *

+ * Default implementation returns true. + * Override if your collection class does not support null keys. */ - protected boolean isChangeable() { + protected boolean isAllowNullKey() { return true; } /** - * Override if your map does not allow add/remove modifications. The - * default implementation returns true. + * Returns true if the maps produced by + * {@link #makeEmptyMap()} and {@link #makeFullMap()} + * supports null values. + *

+ * Default implementation returns true. + * Override if your collection class does not support null values. */ - protected boolean isAddRemoveModifiable() { + protected boolean isAllowNullValue() { + return true; + } + + /** + * Returns true if the maps produced by + * {@link #makeEmptyMap()} and {@link #makeFullMap()} + * supports duplicate values. + *

+ * Default implementation returns true. + * Override if your collection class does not support duplicate values. + */ + protected boolean isAllowDuplicateValues() { return true; } @@ -235,7 +268,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { * method must return an array with the same length as {@link * #getSampleValues()} and all array elements must be different. The * default implementation constructs a set of String keys, and includes a - * single null key if {@link #useNullKey()} returns true. + * single null key if {@link #isAllowNullKey()} returns true. */ protected Object[] getSampleKeys() { Object[] result = new Object[] { @@ -243,7 +276,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { "hello", "goodbye", "we'll", "see", "you", "all", "again", "key", "key2", - (useNullKey()) ? null : "nonnullkey" + (isAllowNullKey()) ? null : "nonnullkey" }; return result; } @@ -258,10 +291,10 @@ public abstract class AbstractTestMap extends AbstractTestObject { } /** - * Returns a list of string elements suitable for return by - * {@link getOtherElements()}. Override getOtherElements to return - * the results of this method if your collection does not support - * heterogenous elements or the null element. + * Returns a list of string elements suitable for return by + * {@link getOtherElements()}. Override getOtherElements to return + * the results of this method if your collection does not support + * heterogenous elements or the null element. */ protected Object[] getOtherNonNullStringElements() { return new Object[] { @@ -271,41 +304,41 @@ public abstract class AbstractTestMap extends AbstractTestObject { } /** - * Returns the set of values in the mappings used to test the map. This - * method must return an array with the same length as {@link - * #getSampleKeys()}. The default implementation constructs a set of - * String values and includes a single null value if {@link - * #useNullValue()} returns true, and includes two values - * that are the same if {@link #useDuplicateValues()} returns - * true. + * Returns the set of values in the mappings used to test the map. This + * method must return an array with the same length as + * {@link #getSampleKeys()}. The default implementation constructs a set of + * String values and includes a single null value if + * {@link #isNullValueSupported()} returns true, and includes + * two values that are the same if {@link #isAllowDuplicateValues()} returns + * true. */ protected Object[] getSampleValues() { Object[] result = new Object[] { "blahv", "foov", "barv", "bazv", "tmpv", "goshv", "gollyv", "geev", "hellov", "goodbyev", "we'llv", "seev", "youv", "allv", "againv", - (useNullValue()) ? null : "nonnullvalue", + (isAllowNullValue()) ? null : "nonnullvalue", "value", - (useDuplicateValues()) ? "value" : "value2", + (isAllowDuplicateValues()) ? "value" : "value2", }; return result; } /** - * Returns a the set of values that can be used to replace the values - * returned from {@link #getSampleValues()}. This method must return an - * array with the same length as {@link #getSampleValues()}. The values - * returned from this method should not be the same as those returned from - * {@link #getSampleValues()}. The default implementation constructs a - * set of String values and includes a single null value if {@link - * #useNullValue()} returns true, and includes two values - * that are the same if {@link #useDuplicateValues()} returns - * true. + * Returns a the set of values that can be used to replace the values + * returned from {@link #getSampleValues()}. This method must return an + * array with the same length as {@link #getSampleValues()}. The values + * returned from this method should not be the same as those returned from + * {@link #getSampleValues()}. The default implementation constructs a + * set of String values and includes a single null value if + * {@link #isNullValueSupported()} returns true, and includes two values + * that are the same if {@link #isAllowDuplicateValues()} returns + * true. */ protected Object[] getNewSampleValues() { Object[] result = new Object[] { - (useNullValue() && useDuplicateValues()) ? null : "newnonnullvalue", + (isAllowNullValue() && isAllowDuplicateValues()) ? null : "newnonnullvalue", "newvalue", - (useDuplicateValues()) ? "newvalue" : "newvalue2", + (isAllowDuplicateValues()) ? "newvalue" : "newvalue2", "newblahv", "newfoov", "newbarv", "newbazv", "newtmpv", "newgoshv", "newgollyv", "newgeev", "newhellov", "newgoodbyev", "newwe'llv", "newseev", "newyouv", "newallv", "newagainv", @@ -331,12 +364,12 @@ public abstract class AbstractTestMap extends AbstractTestObject { keys[i] == null || values[i] == null); assertTrue("NullPointerException on null key, but " + - "useNullKey is not overridden to return false.", - keys[i] == null || !useNullKey()); + "isNullKeySupported is not overridden to return false.", + keys[i] == null || !isAllowNullKey()); assertTrue("NullPointerException on null value, but " + - "useNullValue is not overridden to return false.", - values[i] == null || !useNullValue()); + "isNullValueSupported is not overridden to return false.", + values[i] == null || !isAllowNullValue()); assertTrue("Unknown reason for NullPointer.", false); } @@ -379,14 +412,14 @@ public abstract class AbstractTestMap extends AbstractTestObject { //----------------------------------------------------------------------- /** - * Test to ensure the test setup is working properly. This method checks - * to ensure that the getSampleKeys and getSampleValues methods are - * returning results that look appropriate. That is, they both return a - * non-null array of equal length. The keys array must not have any - * duplicate values, and may only contain a (single) null key if - * useNullKey() returns true. The values array must only have a null - * value if useNullValue() is true and may only have duplicate values if - * useDuplicateValues() returns true. + * Test to ensure the test setup is working properly. This method checks + * to ensure that the getSampleKeys and getSampleValues methods are + * returning results that look appropriate. That is, they both return a + * non-null array of equal length. The keys array must not have any + * duplicate values, and may only contain a (single) null key if + * isNullKeySupported() returns true. The values array must only have a null + * value if useNullValue() is true and may only have duplicate values if + * isAllowDuplicateValues() returns true. */ public void testSampleMappings() { Object[] keys = getSampleKeys(); @@ -417,12 +450,12 @@ public abstract class AbstractTestMap extends AbstractTestObject { (!keys[i].equals(keys[j]) && !keys[j].equals(keys[i])))); } - assertTrue("failure in test: found null key, but useNullKey " + - "is false.", keys[i] != null || useNullKey()); - assertTrue("failure in test: found null value, but useNullValue " + - "is false.", values[i] != null || useNullValue()); - assertTrue("failure in test: found null new value, but useNullValue " + - "is false.", newValues[i] != null || useNullValue()); + assertTrue("failure in test: found null key, but isNullKeySupported " + + "is false.", keys[i] != null || isAllowNullKey()); + assertTrue("failure in test: found null value, but isNullValueSupported " + + "is false.", values[i] != null || isAllowNullValue()); + assertTrue("failure in test: found null new value, but isNullValueSupported " + + "is false.", newValues[i] != null || isAllowNullValue()); assertTrue("failure in test: values should not be the same as new value", values[i] != newValues[i] && (values[i] == null || !values[i].equals(newValues[i]))); @@ -493,7 +526,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { } /** - * Tests {@link Map#clear()}. If the map {@link #isAddRemoveModifiable() + * Tests {@link Map#clear()}. If the map {@link #isRemoveSupported()} * can add and remove elements}, then {@link Map#size()} and {@link * Map#isEmpty()} are used to ensure that map has no elements after a call * to clear. If the map does not support adding and removing elements, @@ -501,7 +534,14 @@ public abstract class AbstractTestMap extends AbstractTestObject { * UnsupportedOperationException. */ public void testMapClear() { - if (!isAddRemoveModifiable()) return; + if (!isRemoveSupported()) { + try { + resetFull(); + map.clear(); + fail("Expected UnsupportedOperationException on clear"); + } catch (UnsupportedOperationException ex) {} + return; + } resetEmpty(); map.clear(); @@ -693,41 +733,64 @@ public abstract class AbstractTestMap extends AbstractTestObject { * Tests Map.put(Object, Object) */ public void testMapPut() { - if (!isAddRemoveModifiable()) return; - resetEmpty(); - Object[] keys = getSampleKeys(); Object[] values = getSampleValues(); Object[] newValues = getNewSampleValues(); - for(int i = 0; i < keys.length; i++) { - Object o = map.put(keys[i], values[i]); - confirmed.put(keys[i], values[i]); - verify(); - assertTrue("First map.put should return null", o == null); - assertTrue("Map should contain key after put", - map.containsKey(keys[i])); - assertTrue("Map should contain value after put", - map.containsValue(values[i])); - } + if (isPutAddSupported()) { + for (int i = 0; i < keys.length; i++) { + Object o = map.put(keys[i], values[i]); + confirmed.put(keys[i], values[i]); + verify(); + assertTrue("First map.put should return null", o == null); + assertTrue("Map should contain key after put", + map.containsKey(keys[i])); + assertTrue("Map should contain value after put", + map.containsValue(values[i])); + } + if (isPutChangeSupported()) { + for (int i = 0; i < keys.length; i++) { + Object o = map.put(keys[i], newValues[i]); + confirmed.put(keys[i], newValues[i]); + verify(); + assertEquals("Map.put should return previous value when changed", + values[i], o); + assertTrue("Map should still contain key after put when changed", + map.containsKey(keys[i])); + assertTrue("Map should contain new value after put when changed", + map.containsValue(newValues[i])); - for(int i = 0; i < keys.length; i++) { - Object o = map.put(keys[i], newValues[i]); - confirmed.put(keys[i], newValues[i]); - verify(); - assertEquals("Second map.put should return previous value", - values[i], o); - assertTrue("Map should still contain key after put", - map.containsKey(keys[i])); - assertTrue("Map should contain new value after put", - map.containsValue(newValues[i])); - - // if duplicates are allowed, we're not guaranteed that the value - // no longer exists, so don't try checking that. - if(!useDuplicateValues()) { - assertTrue("Map should not contain old value after second put", - !map.containsValue(values[i])); + // if duplicates are allowed, we're not guaranteed that the value + // no longer exists, so don't try checking that. + if (!isAllowDuplicateValues()) { + assertTrue("Map should not contain old value after put when changed", + !map.containsValue(values[i])); + } + } + } + + } else if (isPutChangeSupported()) { + resetFull(); + int i = 0; + for (Iterator it = map.keySet().iterator(); it.hasNext() && i < newValues.length; i++) { + Object key = (Object) it.next(); + Object o = map.put(key, newValues[i]); + Object value = confirmed.put(key, newValues[i]); + verify(); + assertEquals("Map.put should return previous value when changed", + value, o); + assertTrue("Map should still contain key after put when changed", + map.containsKey(key)); + assertTrue("Map should contain new value after put when changed", + map.containsValue(newValues[i])); + + // if duplicates are allowed, we're not guaranteed that the value + // no longer exists, so don't try checking that. + if (!isAllowDuplicateValues()) { + assertTrue("Map should not contain old value after put when changed", + !map.containsValue(values[i])); + } } } } @@ -736,7 +799,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { * Tests Map.putAll(Collection) */ public void testMapPutAll() { - if (!isAddRemoveModifiable()) return; + if (!isPutAddSupported()) return; resetEmpty(); @@ -764,7 +827,14 @@ public abstract class AbstractTestMap extends AbstractTestObject { * Tests Map.remove(Object) */ public void testMapRemove() { - if (!isAddRemoveModifiable()) return; + if (!isRemoveSupported()) { + try { + resetFull(); + map.remove(map.keySet().iterator().next()); + fail("Expected UnsupportedOperationException on remove"); + } catch (UnsupportedOperationException ex) {} + return; + } resetEmpty(); @@ -807,7 +877,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { * the underlying map for clear(). */ public void testValuesClearChangesMap() { - if (!isAddRemoveModifiable()) return; + if (!isRemoveSupported()) return; // clear values, reflected in map resetFull(); @@ -833,7 +903,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { * the underlying map for clear(). */ public void testKeySetClearChangesMap() { - if (!isAddRemoveModifiable()) return; + if (!isRemoveSupported()) return; // clear values, reflected in map resetFull(); @@ -859,7 +929,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { * the underlying map for clear(). */ public void testEntrySetClearChangesMap() { - if (!isAddRemoveModifiable()) return; + if (!isRemoveSupported()) return; // clear values, reflected in map resetFull(); @@ -1007,7 +1077,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { protected boolean isRemoveSupported() { // Entry set should only support remove if map does - return isAddRemoveModifiable(); + return AbstractTestMap.this.isRemoveSupported(); } protected void resetFull() { @@ -1066,7 +1136,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { } protected boolean isRemoveSupported() { - return isAddRemoveModifiable(); + return AbstractTestMap.this.isRemoveSupported(); } protected void resetEmpty() { @@ -1127,7 +1197,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { } protected boolean isRemoveSupported() { - return isAddRemoveModifiable(); + return AbstractTestMap.this.isRemoveSupported(); } protected boolean areEqualElementsDistinguishable() { diff --git a/src/test/org/apache/commons/collections/AbstractTestSortedMap.java b/src/test/org/apache/commons/collections/AbstractTestSortedMap.java index 2d00c9ca7..22ad968de 100644 --- a/src/test/org/apache/commons/collections/AbstractTestSortedMap.java +++ b/src/test/org/apache/commons/collections/AbstractTestSortedMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/AbstractTestSortedMap.java,v 1.2 2003/10/06 23:44:56 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/AbstractTestSortedMap.java,v 1.3 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -63,7 +63,7 @@ import java.util.SortedMap; /** * Abstract test class for {@link java.util.SortedMap} methods and contracts. * - * @version $Revision: 1.2 $ $Date: 2003/10/06 23:44:56 $ + * @version $Revision: 1.3 $ $Date: 2003/10/07 22:20:57 $ * * @author Stephen Colebourne */ @@ -84,7 +84,7 @@ public abstract class AbstractTestSortedMap extends AbstractTestMap { * * @return false */ - protected boolean useNullKey() { + protected boolean isAllowNullKey() { return false; } diff --git a/src/test/org/apache/commons/collections/TestBeanMap.java b/src/test/org/apache/commons/collections/TestBeanMap.java index c14a3a686..f2c338c37 100644 --- a/src/test/org/apache/commons/collections/TestBeanMap.java +++ b/src/test/org/apache/commons/collections/TestBeanMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestBeanMap.java,v 1.12 2003/10/05 20:46:40 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestBeanMap.java,v 1.13 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -66,7 +66,7 @@ import junit.framework.Test; /** * Test cases for BeanMap * - * @version $Revision: 1.12 $ $Date: 2003/10/05 20:46:40 $ + * @version $Revision: 1.13 $ $Date: 2003/10/07 22:20:57 $ * * @author Morgan Delagrange */ @@ -253,14 +253,23 @@ public class TestBeanMap extends AbstractTestMap { } /** - * The mappings in a BeanMap are fixed on the properties the underlying - * bean has. Adding and removing mappings is not possible, thus this - * method is overridden to return false. - **/ - protected boolean isAddRemoveModifiable() { + * The mappings in a BeanMap are fixed on the properties the underlying + * bean has. Adding and removing mappings is not possible, thus this + * method is overridden to return false. + */ + protected boolean isPutAddSupported() { return false; } - + + /** + * The mappings in a BeanMap are fixed on the properties the underlying + * bean has. Adding and removing mappings is not possible, thus this + * method is overridden to return false. + */ + protected boolean isRemoveSupported() { + return false; + } + protected Map makeFullMap() { // note: These values must match (i.e. .equals() must return true) // those returned from getSampleValues(). @@ -299,18 +308,26 @@ public class TestBeanMap extends AbstractTestMap { } /** - * Need to override this method because the "clear()" method on the bean - * map just returns the bean properties to their default states. It does - * not actually remove the mappings as per the map contract. The default - * testClear() methods checks that the clear method throws an - * UnsupportedOperationException since this class is not add/remove - * modifiable. In our case though, we do not always throw that exception. - **/ - public void testClear() { + * Need to override this method because the "clear()" method on the bean + * map just returns the bean properties to their default states. It does + * not actually remove the mappings as per the map contract. The default + * testClear() methods checks that the clear method throws an + * UnsupportedOperationException since this class is not add/remove + * modifiable. In our case though, we do not always throw that exception. + */ + public void testMapClear() { //TODO: make sure a call to BeanMap.clear returns the bean to its //default initialization values. } + /** + * Need to override this method because the "put()" method on the bean + * doesn't work for this type of Map. + */ + public void testMapPut() { + // see testBeanMapPutAllWriteable + } + public void testBeanMapClone() { BeanMap map = (BeanMap)makeFullMap(); try { diff --git a/src/test/org/apache/commons/collections/TestBidiMap.java b/src/test/org/apache/commons/collections/TestBidiMap.java index 7e39f999b..df14ba8f2 100755 --- a/src/test/org/apache/commons/collections/TestBidiMap.java +++ b/src/test/org/apache/commons/collections/TestBidiMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/TestBidiMap.java,v 1.5 2003/10/06 23:47:17 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/Attic/TestBidiMap.java,v 1.6 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -63,7 +63,7 @@ import java.util.Map; /** * JUnit tests. * - * @version $Revision: 1.5 $ $Date: 2003/10/06 23:47:17 $ + * @version $Revision: 1.6 $ $Date: 2003/10/07 22:20:57 $ * * @author Matthew Hawthorne */ @@ -128,7 +128,7 @@ public abstract class TestBidiMap extends AbstractTestMap { /** * Override to indicate to AbstractTestMap this is a BidiMap. */ - protected boolean useDuplicateValues() { + protected boolean isAllowDuplicateValues() { return false; } diff --git a/src/test/org/apache/commons/collections/TestDoubleOrderedMap.java b/src/test/org/apache/commons/collections/TestDoubleOrderedMap.java index 3c27d1040..161ca7a24 100644 --- a/src/test/org/apache/commons/collections/TestDoubleOrderedMap.java +++ b/src/test/org/apache/commons/collections/TestDoubleOrderedMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestDoubleOrderedMap.java,v 1.9 2003/10/05 21:11:06 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestDoubleOrderedMap.java,v 1.10 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -77,7 +77,7 @@ import junit.framework.Test; * Map that does not support duplicate keys, duplicate * values, or null values. * - * @version $Revision: 1.9 $ $Date: 2003/10/05 21:11:06 $ + * @version $Revision: 1.10 $ $Date: 2003/10/07 22:20:57 $ * * @author Marc Johnson (marcj at users dot sourceforge dot net) */ @@ -104,7 +104,7 @@ public class TestDoubleOrderedMap extends AbstractTestMap { /** * The default comparator in double ordered map does not allow null keys. **/ - public boolean useNullKey() { + public boolean isAllowNullKey() { return false; } @@ -112,14 +112,14 @@ public class TestDoubleOrderedMap extends AbstractTestMap { * The default comparator in double ordered map does not allow null keys, * and values are keys in this map. **/ - public boolean useNullValue() { + public boolean isAllowNullValue() { return false; } /** * Double ordered map does not support duplicate values **/ - public boolean useDuplicateValues() { + public boolean isAllowDuplicateValues() { return false; } diff --git a/src/test/org/apache/commons/collections/TestFastHashMap.java b/src/test/org/apache/commons/collections/TestFastHashMap.java index 1392c33ef..146af6d7f 100644 --- a/src/test/org/apache/commons/collections/TestFastHashMap.java +++ b/src/test/org/apache/commons/collections/TestFastHashMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestFastHashMap.java,v 1.11 2003/10/05 21:11:06 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestFastHashMap.java,v 1.12 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -64,7 +64,7 @@ import junit.framework.Test; /** * Tests FastHashMap. * - * @version $Revision: 1.11 $ $Date: 2003/10/05 21:11:06 $ + * @version $Revision: 1.12 $ $Date: 2003/10/07 22:20:57 $ * * @author Jason van Zyl */ @@ -93,7 +93,7 @@ public class TestFastHashMap extends AbstractTestMap { * There is a bug in JDK1.2 HashMap; the keySet() will incorrectly * return false when a null value is removed. */ - public boolean useNullValue() { + public boolean isAllowNullValue() { return false; } } diff --git a/src/test/org/apache/commons/collections/TestFastTreeMap.java b/src/test/org/apache/commons/collections/TestFastTreeMap.java index caf514638..5d38d3276 100644 --- a/src/test/org/apache/commons/collections/TestFastTreeMap.java +++ b/src/test/org/apache/commons/collections/TestFastTreeMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestFastTreeMap.java,v 1.11 2003/10/05 21:11:06 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestFastTreeMap.java,v 1.12 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -65,7 +65,7 @@ import junit.framework.Test; /** * Tests FastTreeMap. * - * @version $Revision: 1.11 $ $Date: 2003/10/05 21:11:06 $ + * @version $Revision: 1.12 $ $Date: 2003/10/07 22:20:57 $ * * @author Jason van Zyl */ @@ -97,7 +97,7 @@ public class TestFastTreeMap extends TestTreeMap { /** * The comparator for the fast tree map does not support null keys. **/ - public boolean useNullKey() { + public boolean isAllowNullKey() { return false; } @@ -105,7 +105,7 @@ public class TestFastTreeMap extends TestTreeMap { * There is a bug in JDK1.2.2 TreeMap; the keySet will incorrectly * return false when a null value is removed */ - public boolean useNullValue() { + public boolean isAllowNullValue() { return false; } diff --git a/src/test/org/apache/commons/collections/TestMapUtils.java b/src/test/org/apache/commons/collections/TestMapUtils.java index ca44120c5..70ace0870 100644 --- a/src/test/org/apache/commons/collections/TestMapUtils.java +++ b/src/test/org/apache/commons/collections/TestMapUtils.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestMapUtils.java,v 1.17 2003/10/05 21:17:40 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestMapUtils.java,v 1.18 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -76,7 +76,7 @@ import org.apache.commons.collections.decorators.PredicatedMap; /** * Tests for MapUtils. * - * @version $Revision: 1.17 $ $Date: 2003/10/05 21:17:40 $ + * @version $Revision: 1.18 $ $Date: 2003/10/07 22:20:57 $ * * @author Stephen Colebourne * @author Arun Mammen Thomas @@ -163,11 +163,11 @@ public class TestMapUtils extends BulkTest { public BulkTest bulkTestTypedMap() { return new AbstractTestMap("") { - public boolean useNullKey() { + public boolean isAllowNullKey() { return false; } - public boolean useNullValue() { + public boolean isAllowNullValue() { return false; } diff --git a/src/test/org/apache/commons/collections/TestReferenceMap.java b/src/test/org/apache/commons/collections/TestReferenceMap.java index cbbbaf0cc..0f97dd352 100644 --- a/src/test/org/apache/commons/collections/TestReferenceMap.java +++ b/src/test/org/apache/commons/collections/TestReferenceMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestReferenceMap.java,v 1.12 2003/10/05 21:23:21 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestReferenceMap.java,v 1.13 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -65,7 +65,7 @@ import junit.framework.Test; /** * Tests for ReferenceMap. * - * @version $Revision: 1.12 $ $Date: 2003/10/05 21:23:21 $ + * @version $Revision: 1.13 $ $Date: 2003/10/07 22:20:57 $ * * @author Paul Jack */ @@ -89,11 +89,11 @@ public class TestReferenceMap extends AbstractTestMap { return map; } - public boolean useNullKey() { + public boolean isAllowNullKey() { return false; } - public boolean useNullValue() { + public boolean isAllowNullValue() { return false; } diff --git a/src/test/org/apache/commons/collections/TestTreeMap.java b/src/test/org/apache/commons/collections/TestTreeMap.java index 0dd8632c5..657586492 100644 --- a/src/test/org/apache/commons/collections/TestTreeMap.java +++ b/src/test/org/apache/commons/collections/TestTreeMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestTreeMap.java,v 1.9 2003/10/05 21:23:21 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/TestTreeMap.java,v 1.10 2003/10/07 22:20:57 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -62,7 +62,7 @@ import java.util.TreeMap; /** * Tests TreeMap. * - * @version $Revision: 1.9 $ $Date: 2003/10/05 21:23:21 $ + * @version $Revision: 1.10 $ $Date: 2003/10/07 22:20:57 $ * * @author Jason van Zyl */ @@ -77,7 +77,7 @@ public abstract class TestTreeMap extends AbstractTestMap { junit.textui.TestRunner.main(testCaseName); } - public boolean useNullKey() { + public boolean isAllowNullKey() { return false; } diff --git a/src/test/org/apache/commons/collections/decorators/TestFixedSizeMap.java b/src/test/org/apache/commons/collections/decorators/TestFixedSizeMap.java index 69bd74a22..edad6adc1 100644 --- a/src/test/org/apache/commons/collections/decorators/TestFixedSizeMap.java +++ b/src/test/org/apache/commons/collections/decorators/TestFixedSizeMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestFixedSizeMap.java,v 1.4 2003/10/02 23:01:09 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestFixedSizeMap.java,v 1.5 2003/10/07 22:20:58 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -70,7 +70,7 @@ import org.apache.commons.collections.AbstractTestMap; * implementation. * * @since Commons Collections 3.0 - * @version $Revision: 1.4 $ $Date: 2003/10/02 23:01:09 $ + * @version $Revision: 1.5 $ $Date: 2003/10/07 22:20:58 $ * * @author Stephen Colebourne */ @@ -99,7 +99,11 @@ public class TestFixedSizeMap extends AbstractTestMap { return FixedSizeMap.decorate(map); } - protected boolean isAddRemoveModifiable() { + protected boolean isPutAddSupported() { + return false; + } + + protected boolean isRemoveSupported() { return false; } diff --git a/src/test/org/apache/commons/collections/decorators/TestFixedSizeSortedMap.java b/src/test/org/apache/commons/collections/decorators/TestFixedSizeSortedMap.java index a67061256..7cfa5575a 100644 --- a/src/test/org/apache/commons/collections/decorators/TestFixedSizeSortedMap.java +++ b/src/test/org/apache/commons/collections/decorators/TestFixedSizeSortedMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestFixedSizeSortedMap.java,v 1.4 2003/10/02 23:01:09 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestFixedSizeSortedMap.java,v 1.5 2003/10/07 22:20:58 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -71,7 +71,7 @@ import org.apache.commons.collections.AbstractTestSortedMap; * implementation. * * @since Commons Collections 3.0 - * @version $Revision: 1.4 $ $Date: 2003/10/02 23:01:09 $ + * @version $Revision: 1.5 $ $Date: 2003/10/07 22:20:58 $ * * @author Stephen Colebourne */ @@ -100,7 +100,11 @@ public class TestFixedSizeSortedMap extends AbstractTestSortedMap { return FixedSizeSortedMap.decorate(map); } - protected boolean isAddRemoveModifiable() { + protected boolean isPutAddSupported() { + return false; + } + + protected boolean isRemoveSupported() { return false; } diff --git a/src/test/org/apache/commons/collections/decorators/TestLazySortedMap.java b/src/test/org/apache/commons/collections/decorators/TestLazySortedMap.java index 9ed29a005..edf228be0 100644 --- a/src/test/org/apache/commons/collections/decorators/TestLazySortedMap.java +++ b/src/test/org/apache/commons/collections/decorators/TestLazySortedMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestLazySortedMap.java,v 1.2 2003/09/20 17:05:36 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestLazySortedMap.java,v 1.3 2003/10/07 22:20:58 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -74,7 +74,7 @@ import org.apache.commons.collections.TransformerUtils; * {@link LazySortedMap} implementation. * * @since Commons Collections 3.0 - * @version $Revision: 1.2 $ $Date: 2003/09/20 17:05:36 $ + * @version $Revision: 1.3 $ $Date: 2003/10/07 22:20:58 $ * * @author Phil Steitz */ @@ -103,7 +103,7 @@ public class TestLazySortedMap extends TestLazyMap { return decorateMap(new TreeMap(), nullFactory); } - protected boolean useNullKey() { + protected boolean isAllowNullKey() { return false; } diff --git a/src/test/org/apache/commons/collections/decorators/TestPredicatedSortedMap.java b/src/test/org/apache/commons/collections/decorators/TestPredicatedSortedMap.java index 329596956..63c4135d3 100644 --- a/src/test/org/apache/commons/collections/decorators/TestPredicatedSortedMap.java +++ b/src/test/org/apache/commons/collections/decorators/TestPredicatedSortedMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestPredicatedSortedMap.java,v 1.2 2003/09/20 17:05:36 scolebourne Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestPredicatedSortedMap.java,v 1.3 2003/10/07 22:20:58 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -72,7 +72,7 @@ import org.apache.commons.collections.Predicate; * {@link PredicatedSortedMap} implementation. * * @since Commons Collections 3.0 - * @version $Revision: 1.2 $ $Date: 2003/09/20 17:05:36 $ + * @version $Revision: 1.3 $ $Date: 2003/10/07 22:20:58 $ * * @author Phil Steitz */ @@ -106,7 +106,7 @@ public class TestPredicatedSortedMap extends TestPredicatedMap{ return decorateMap(new TreeMap(), testPredicate, testPredicate); } - protected boolean useNullKey() { + protected boolean isAllowNullKey() { return false; } diff --git a/src/test/org/apache/commons/collections/decorators/TestUnmodifiableMap.java b/src/test/org/apache/commons/collections/decorators/TestUnmodifiableMap.java index 17e003743..d2b0e452a 100644 --- a/src/test/org/apache/commons/collections/decorators/TestUnmodifiableMap.java +++ b/src/test/org/apache/commons/collections/decorators/TestUnmodifiableMap.java @@ -1,5 +1,5 @@ /* - * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestUnmodifiableMap.java,v 1.1 2003/10/06 05:06:05 psteitz Exp $ + * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/test/org/apache/commons/collections/decorators/Attic/TestUnmodifiableMap.java,v 1.2 2003/10/07 22:20:58 scolebourne Exp $ * ==================================================================== * * The Apache Software License, Version 1.1 @@ -74,7 +74,7 @@ import org.apache.commons.collections.AbstractTestMap; * {@link UnmodifiableMap} implementation. * * @since Commons Collections 3.0 - * @version $Revision: 1.1 $ $Date: 2003/10/06 05:06:05 $ + * @version $Revision: 1.2 $ $Date: 2003/10/07 22:20:58 $ * * @author Phil Steitz */ @@ -99,11 +99,15 @@ public class TestUnmodifiableMap extends AbstractTestMap{ return UnmodifiableMap.decorate(new HashMap()); } - protected boolean isChangeable() { + protected boolean isPutChangeSupported() { return false; } - protected boolean isAddRemoveModifiable() { + protected boolean isPutAddSupported() { + return false; + } + + protected boolean isRemoveSupported() { return false; }