Class UnmodifiableCollectionTests
- java.lang.Object
-
- com.google.common.collect.testing.google.UnmodifiableCollectionTests
-
@GwtCompatible public class UnmodifiableCollectionTests extends Object
A series of tests that support asserting that collections cannot be modified, either through direct or indirect means.- Author:
- Robert Konigsberg
-
-
Constructor Summary
Constructors Constructor Description UnmodifiableCollectionTests()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <E extends @Nullable Object>
voidassertCollectionIsUnmodifiable(Collection<E> collection, E sampleElement)Verifies that a collection is immutable.static voidassertIteratorIsUnmodifiable(Iterator<?> iterator)Verifies that an Iterator is unmodifiable.static voidassertIteratorsInOrder(Iterator<?> expectedIterator, Iterator<?> actualIterator)Asserts that two iterators contain elements in tandem.static voidassertMapEntryIsUnmodifiable(Map.Entry<?,?> entry)static <K extends @Nullable Object,V extends @Nullable Object>
voidassertMultimapIsUnmodifiable(com.google.common.collect.Multimap<K,V> multimap, K sampleKey, V sampleValue)Verifies that a multimap is immutable.static <E extends @Nullable Object>
voidassertMultisetIsUnmodifiable(com.google.common.collect.Multiset<E> multiset, E sampleElement)Verifies that a multiset is immutable.static <E extends @Nullable Object>
voidassertSetIsUnmodifiable(Set<E> set, E sampleElement)Verifies that a set is immutable.
-
-
-
Constructor Detail
-
UnmodifiableCollectionTests
public UnmodifiableCollectionTests()
-
-
Method Detail
-
assertMapEntryIsUnmodifiable
public static void assertMapEntryIsUnmodifiable(Map.Entry<?,?> entry)
-
assertIteratorIsUnmodifiable
public static void assertIteratorIsUnmodifiable(Iterator<?> iterator)
Verifies that an Iterator is unmodifiable.This test only works with iterators that iterate over a finite set.
-
assertIteratorsInOrder
public static void assertIteratorsInOrder(Iterator<?> expectedIterator, Iterator<?> actualIterator)
Asserts that two iterators contain elements in tandem.This test only works with iterators that iterate over a finite set.
-
assertCollectionIsUnmodifiable
public static <E extends @Nullable Object> void assertCollectionIsUnmodifiable(Collection<E> collection, E sampleElement)
Verifies that a collection is immutable.A collection is considered immutable if:
- All its mutation methods result in UnsupportedOperationException, and do not change the underlying contents.
- All methods that return objects that can indirectly mutate the collection throw UnsupportedOperationException when those mutators are called.
- Parameters:
collection- the presumed-immutable collectionsampleElement- an element of the same type as that contained bycollection.collectionmay or may not havesampleElementas a member.
-
assertSetIsUnmodifiable
public static <E extends @Nullable Object> void assertSetIsUnmodifiable(Set<E> set, E sampleElement)
Verifies that a set is immutable.A set is considered immutable if:
- All its mutation methods result in UnsupportedOperationException, and do not change the underlying contents.
- All methods that return objects that can indirectly mutate the set throw UnsupportedOperationException when those mutators are called.
- Parameters:
set- the presumed-immutable setsampleElement- an element of the same type as that contained byset.setmay or may not havesampleElementas a member.
-
assertMultisetIsUnmodifiable
public static <E extends @Nullable Object> void assertMultisetIsUnmodifiable(com.google.common.collect.Multiset<E> multiset, E sampleElement)
Verifies that a multiset is immutable.A multiset is considered immutable if:
- All its mutation methods result in UnsupportedOperationException, and do not change the underlying contents.
- All methods that return objects that can indirectly mutate the multiset throw UnsupportedOperationException when those mutators are called.
- Parameters:
multiset- the presumed-immutable multisetsampleElement- an element of the same type as that contained bymultiset.multisetmay or may not havesampleElementas a member.
-
assertMultimapIsUnmodifiable
public static <K extends @Nullable Object,V extends @Nullable Object> void assertMultimapIsUnmodifiable(com.google.common.collect.Multimap<K,V> multimap, K sampleKey, V sampleValue)
Verifies that a multimap is immutable.A multimap is considered immutable if:
- All its mutation methods result in UnsupportedOperationException, and do not change the underlying contents.
- All methods that return objects that can indirectly mutate the multimap throw UnsupportedOperationException when those mutators
- Parameters:
multimap- the presumed-immutable multimapsampleKey- a key of the same type as that contained bymultimap.multimapmay or may not havesampleKeyas a key.sampleValue- a key of the same type as that contained bymultimap.multimapmay or may not havesampleValueas a key.
-
-