java.lang.Object
junit.framework.Assert
junit.framework.TestCase
com.google.common.collect.testing.MapInterfaceTest<K,V>
- Type Parameters:
K
- the type of keys used by the maps under testV
- the type of mapped values used the maps under test
- All Implemented Interfaces:
junit.framework.Test
- Direct Known Subclasses:
SortedMapInterfaceTest
@GwtCompatible
@NullMarked
public abstract class MapInterfaceTest<K extends @Nullable Object, V extends @Nullable Object>
extends junit.framework.TestCase
Tests representing the contract of
Map
. Concrete subclasses of this base class test
conformance of concrete Map
subclasses to that contract.- Author:
- George van den Driessche
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final boolean
protected final boolean
protected final boolean
protected final boolean
protected final boolean
protected final boolean
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
MapInterfaceTest
(boolean allowsNullKeys, boolean allowsNullValues, boolean supportsPut, boolean supportsRemove, boolean supportsClear) Constructor that assignssupportsIteratorRemove
the same value assupportsRemove
.protected
MapInterfaceTest
(boolean allowsNullKeys, boolean allowsNullValues, boolean supportsPut, boolean supportsRemove, boolean supportsClear, boolean supportsIteratorRemove) Constructor with an explicitsupportsIteratorRemove
parameter. -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
assertInvariants
(Map<K, V> map) Checks all the properties that should always hold of a map.protected void
assertMoreInvariants
(Map<K, V> map) Override this to check invariants which should hold true for a particular implementation, but which are not generally applicable to every instance of Map.protected abstract K
Creates a new key that is not expected to be found inmakePopulatedMap()
.protected abstract V
Creates a new value that is not expected to be found inmakePopulatedMap()
.Used by tests that require a map, but don't care whether it's populated or not.Creates a new, empty instance of the class under test.Creates a new, non-empty instance of the class under test.protected final boolean
supportsValuesHashCode
(Map<K, V> map) void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
testGet()
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
testSize()
void
void
void
void
void
void
void
void
void
Methods inherited from class junit.framework.TestCase
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
-
Field Details
-
supportsPut
protected final boolean supportsPut -
supportsRemove
protected final boolean supportsRemove -
supportsClear
protected final boolean supportsClear -
allowsNullKeys
protected final boolean allowsNullKeys -
allowsNullValues
protected final boolean allowsNullValues -
supportsIteratorRemove
protected final boolean supportsIteratorRemove
-
-
Constructor Details
-
MapInterfaceTest
protected MapInterfaceTest(boolean allowsNullKeys, boolean allowsNullValues, boolean supportsPut, boolean supportsRemove, boolean supportsClear) Constructor that assignssupportsIteratorRemove
the same value assupportsRemove
. -
MapInterfaceTest
protected MapInterfaceTest(boolean allowsNullKeys, boolean allowsNullValues, boolean supportsPut, boolean supportsRemove, boolean supportsClear, boolean supportsIteratorRemove) Constructor with an explicitsupportsIteratorRemove
parameter.
-
-
Method Details
-
makeEmptyMap
Creates a new, empty instance of the class under test.- Returns:
- a new, empty map instance.
- Throws:
UnsupportedOperationException
- if it's not possible to make an empty instance of the class under test.
-
makePopulatedMap
Creates a new, non-empty instance of the class under test.- Returns:
- a new, non-empty map instance.
- Throws:
UnsupportedOperationException
- if it's not possible to make a non-empty instance of the class under test.
-
getKeyNotInPopulatedMap
Creates a new key that is not expected to be found inmakePopulatedMap()
.- Returns:
- a key.
- Throws:
UnsupportedOperationException
- if it's not possible to make a key that will not be found in the map.
-
getValueNotInPopulatedMap
Creates a new value that is not expected to be found inmakePopulatedMap()
.- Returns:
- a value.
- Throws:
UnsupportedOperationException
- if it's not possible to make a value that will not be found in the map.
-
makeEitherMap
-
supportsValuesHashCode
-
assertInvariants
Checks all the properties that should always hold of a map. Also callsassertMoreInvariants(java.util.Map<K, V>)
to check invariants that are peculiar to specific implementations.- Parameters:
map
- the map to check.- See Also:
-
assertMoreInvariants
-
testClear
public void testClear() -
testContainsKey
public void testContainsKey() -
testContainsValue
public void testContainsValue() -
testEntrySet
public void testEntrySet() -
testEntrySetForEmptyMap
public void testEntrySetForEmptyMap() -
testEntrySetContainsEntryIncompatibleKey
public void testEntrySetContainsEntryIncompatibleKey() -
testEntrySetContainsEntryNullKeyPresent
public void testEntrySetContainsEntryNullKeyPresent() -
testEntrySetContainsEntryNullKeyMissing
public void testEntrySetContainsEntryNullKeyMissing() -
testEntrySetIteratorRemove
public void testEntrySetIteratorRemove() -
testEntrySetRemove
public void testEntrySetRemove() -
testEntrySetRemoveMissingKey
public void testEntrySetRemoveMissingKey() -
testEntrySetRemoveDifferentValue
public void testEntrySetRemoveDifferentValue() -
testEntrySetRemoveNullKeyPresent
public void testEntrySetRemoveNullKeyPresent() -
testEntrySetRemoveNullKeyMissing
public void testEntrySetRemoveNullKeyMissing() -
testEntrySetRemoveAll
public void testEntrySetRemoveAll() -
testEntrySetRemoveAllNullFromEmpty
public void testEntrySetRemoveAllNullFromEmpty() -
testEntrySetRetainAll
public void testEntrySetRetainAll() -
testEntrySetRetainAllNullFromEmpty
public void testEntrySetRetainAllNullFromEmpty() -
testEntrySetClear
public void testEntrySetClear() -
testEntrySetAddAndAddAll
public void testEntrySetAddAndAddAll() -
testEntrySetSetValue
public void testEntrySetSetValue() -
testEntrySetSetValueSameValue
public void testEntrySetSetValueSameValue() -
testEqualsForEqualMap
public void testEqualsForEqualMap() -
testEqualsForLargerMap
public void testEqualsForLargerMap() -
testEqualsForSmallerMap
public void testEqualsForSmallerMap() -
testEqualsForEmptyMap
public void testEqualsForEmptyMap() -
testGet
public void testGet() -
testGetForEmptyMap
public void testGetForEmptyMap() -
testGetNull
public void testGetNull() -
testHashCode
public void testHashCode() -
testHashCodeForEmptyMap
public void testHashCodeForEmptyMap() -
testPutNewKey
public void testPutNewKey() -
testPutExistingKey
public void testPutExistingKey() -
testPutNullKey
public void testPutNullKey() -
testPutNullValue
public void testPutNullValue() -
testPutNullValueForExistingKey
public void testPutNullValueForExistingKey() -
testPutAllNewKey
public void testPutAllNewKey() -
testPutAllExistingKey
public void testPutAllExistingKey() -
testRemove
public void testRemove() -
testRemoveMissingKey
public void testRemoveMissingKey() -
testSize
public void testSize() -
testKeySetRemove
public void testKeySetRemove() -
testKeySetRemoveAll
public void testKeySetRemoveAll() -
testKeySetRetainAll
public void testKeySetRetainAll() -
testKeySetClear
public void testKeySetClear() -
testKeySetRemoveAllNullFromEmpty
public void testKeySetRemoveAllNullFromEmpty() -
testKeySetRetainAllNullFromEmpty
public void testKeySetRetainAllNullFromEmpty() -
testValues
public void testValues() -
testValuesIteratorRemove
public void testValuesIteratorRemove() -
testValuesRemove
public void testValuesRemove() -
testValuesRemoveMissing
public void testValuesRemoveMissing() -
testValuesRemoveAll
public void testValuesRemoveAll() -
testValuesRemoveAllNullFromEmpty
public void testValuesRemoveAllNullFromEmpty() -
testValuesRetainAll
public void testValuesRetainAll() -
testValuesRetainAllNullFromEmpty
public void testValuesRetainAllNullFromEmpty() -
testValuesClear
public void testValuesClear()
-