diff options
Diffstat (limited to 'guava-testlib/src/com/google/common/collect/testing/testers/CollectionClearTester.java')
-rw-r--r-- | guava-testlib/src/com/google/common/collect/testing/testers/CollectionClearTester.java | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/guava-testlib/src/com/google/common/collect/testing/testers/CollectionClearTester.java b/guava-testlib/src/com/google/common/collect/testing/testers/CollectionClearTester.java index a417e55..69f1d02 100644 --- a/guava-testlib/src/com/google/common/collect/testing/testers/CollectionClearTester.java +++ b/guava-testlib/src/com/google/common/collect/testing/testers/CollectionClearTester.java @@ -16,19 +16,13 @@ package com.google.common.collect.testing.testers; -import static com.google.common.collect.testing.features.CollectionFeature.FAILS_FAST_ON_CONCURRENT_MODIFICATION; -import static com.google.common.collect.testing.features.CollectionFeature.SUPPORTS_REMOVE; -import static com.google.common.collect.testing.features.CollectionSize.SEVERAL; +import static com.google.common.collect.testing.features.CollectionFeature.SUPPORTS_CLEAR; import static com.google.common.collect.testing.features.CollectionSize.ZERO; -import com.google.common.annotations.GwtCompatible; import com.google.common.collect.testing.AbstractCollectionTester; import com.google.common.collect.testing.features.CollectionFeature; import com.google.common.collect.testing.features.CollectionSize; -import java.util.ConcurrentModificationException; -import java.util.Iterator; - /** * A generic JUnit test which tests {@code clear()} operations on a collection. * Can't be invoked directly; please see @@ -38,16 +32,15 @@ import java.util.Iterator; * * @author George van den Driessche */ -@GwtCompatible public class CollectionClearTester<E> extends AbstractCollectionTester<E> { - @CollectionFeature.Require(SUPPORTS_REMOVE) + @CollectionFeature.Require(SUPPORTS_CLEAR) public void testClear() { collection.clear(); assertTrue("After clear(), a collection should be empty.", collection.isEmpty()); } - @CollectionFeature.Require(absent = SUPPORTS_REMOVE) + @CollectionFeature.Require(absent = SUPPORTS_CLEAR) @CollectionSize.Require(absent = ZERO) public void testClear_unsupported() { try { @@ -59,7 +52,7 @@ public class CollectionClearTester<E> extends AbstractCollectionTester<E> { expectUnchanged(); } - @CollectionFeature.Require(absent = SUPPORTS_REMOVE) + @CollectionFeature.Require(absent = SUPPORTS_CLEAR) @CollectionSize.Require(ZERO) public void testClear_unsupportedByEmptyCollection() { try { @@ -68,22 +61,4 @@ public class CollectionClearTester<E> extends AbstractCollectionTester<E> { } expectUnchanged(); } - - @CollectionFeature.Require({SUPPORTS_REMOVE, - FAILS_FAST_ON_CONCURRENT_MODIFICATION}) - @CollectionSize.Require(SEVERAL) - public void testClearConcurrentWithIteration() { - try { - Iterator<E> iterator = collection.iterator(); - collection.clear(); - iterator.next(); - /* - * We prefer for iterators to fail immediately on hasNext, but ArrayList - * and LinkedList will notably return true on hasNext here! - */ - fail("Expected ConcurrentModificationException"); - } catch (ConcurrentModificationException expected) { - // success - } - } } |