aboutsummaryrefslogtreecommitdiff
path: root/guava-tests/test/com/google/common/collect/FilteredMapTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava-tests/test/com/google/common/collect/FilteredMapTest.java')
-rw-r--r--guava-tests/test/com/google/common/collect/FilteredMapTest.java186
1 files changed, 2 insertions, 184 deletions
diff --git a/guava-tests/test/com/google/common/collect/FilteredMapTest.java b/guava-tests/test/com/google/common/collect/FilteredMapTest.java
index 159fec9a9..da080fbe3 100644
--- a/guava-tests/test/com/google/common/collect/FilteredMapTest.java
+++ b/guava-tests/test/com/google/common/collect/FilteredMapTest.java
@@ -16,196 +16,14 @@
package com.google.common.collect;
-import static com.google.common.collect.MapsTest.CORRECT_LENGTH;
-import static com.google.common.collect.MapsTest.EVEN;
-import static com.google.common.collect.MapsTest.NOT_LENGTH_3;
import com.google.common.annotations.GwtCompatible;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
import java.util.Map;
-import java.util.Map.Entry;
-import junit.framework.TestCase;
@GwtCompatible
-public class FilteredMapTest extends TestCase {
+public class FilteredMapTest extends AbstractFilteredMapTest {
+ @Override
Map<String, Integer> createUnfiltered() {
return Maps.newHashMap();
}
-
- public void testFilteredKeysIllegalPut() {
- Map<String, Integer> unfiltered = createUnfiltered();
- Map<String, Integer> filtered = Maps.filterKeys(unfiltered, NOT_LENGTH_3);
- filtered.put("a", 1);
- filtered.put("b", 2);
- assertEquals(ImmutableMap.of("a", 1, "b", 2), filtered);
-
- try {
- filtered.put("yyy", 3);
- fail();
- } catch (IllegalArgumentException expected) {
- }
- }
-
- public void testFilteredKeysIllegalPutAll() {
- Map<String, Integer> unfiltered = createUnfiltered();
- Map<String, Integer> filtered = Maps.filterKeys(unfiltered, NOT_LENGTH_3);
- filtered.put("a", 1);
- filtered.put("b", 2);
- assertEquals(ImmutableMap.of("a", 1, "b", 2), filtered);
-
- try {
- filtered.putAll(ImmutableMap.of("c", 3, "zzz", 4, "b", 5));
- fail();
- } catch (IllegalArgumentException expected) {
- }
-
- assertEquals(ImmutableMap.of("a", 1, "b", 2), filtered);
- }
-
- public void testFilteredKeysFilteredReflectsBackingChanges() {
- Map<String, Integer> unfiltered = createUnfiltered();
- Map<String, Integer> filtered = Maps.filterKeys(unfiltered, NOT_LENGTH_3);
- unfiltered.put("two", 2);
- unfiltered.put("three", 3);
- unfiltered.put("four", 4);
- assertEquals(ImmutableMap.of("two", 2, "three", 3, "four", 4), unfiltered);
- assertEquals(ImmutableMap.of("three", 3, "four", 4), filtered);
-
- unfiltered.remove("three");
- assertEquals(ImmutableMap.of("two", 2, "four", 4), unfiltered);
- assertEquals(ImmutableMap.of("four", 4), filtered);
-
- unfiltered.clear();
- assertEquals(ImmutableMap.of(), unfiltered);
- assertEquals(ImmutableMap.of(), filtered);
- }
-
- public void testFilteredValuesIllegalPut() {
- Map<String, Integer> unfiltered = createUnfiltered();
- Map<String, Integer> filtered = Maps.filterValues(unfiltered, EVEN);
- filtered.put("a", 2);
- unfiltered.put("b", 4);
- unfiltered.put("c", 5);
- assertEquals(ImmutableMap.of("a", 2, "b", 4), filtered);
-
- try {
- filtered.put("yyy", 3);
- fail();
- } catch (IllegalArgumentException expected) {
- }
- assertEquals(ImmutableMap.of("a", 2, "b", 4), filtered);
- }
-
- public void testFilteredValuesIllegalPutAll() {
- Map<String, Integer> unfiltered = createUnfiltered();
- Map<String, Integer> filtered = Maps.filterValues(unfiltered, EVEN);
- filtered.put("a", 2);
- unfiltered.put("b", 4);
- unfiltered.put("c", 5);
- assertEquals(ImmutableMap.of("a", 2, "b", 4), filtered);
-
- try {
- filtered.putAll(ImmutableMap.of("c", 4, "zzz", 5, "b", 6));
- fail();
- } catch (IllegalArgumentException expected) {
- }
- assertEquals(ImmutableMap.of("a", 2, "b", 4), filtered);
- }
-
- public void testFilteredValuesIllegalSetValue() {
- Map<String, Integer> unfiltered = createUnfiltered();
- Map<String, Integer> filtered = Maps.filterValues(unfiltered, EVEN);
- filtered.put("a", 2);
- filtered.put("b", 4);
- assertEquals(ImmutableMap.of("a", 2, "b", 4), filtered);
-
- Entry<String, Integer> entry = filtered.entrySet().iterator().next();
- try {
- entry.setValue(5);
- fail();
- } catch (IllegalArgumentException expected) {
- }
-
- assertEquals(ImmutableMap.of("a", 2, "b", 4), filtered);
- }
-
- public void testFilteredValuesClear() {
- Map<String, Integer> unfiltered = createUnfiltered();
- unfiltered.put("one", 1);
- unfiltered.put("two", 2);
- unfiltered.put("three", 3);
- unfiltered.put("four", 4);
- Map<String, Integer> filtered = Maps.filterValues(unfiltered, EVEN);
- assertEquals(ImmutableMap.of("one", 1, "two", 2, "three", 3, "four", 4), unfiltered);
- assertEquals(ImmutableMap.of("two", 2, "four", 4), filtered);
-
- filtered.clear();
- assertEquals(ImmutableMap.of("one", 1, "three", 3), unfiltered);
- assertTrue(filtered.isEmpty());
- }
-
- public void testFilteredEntriesIllegalPut() {
- Map<String, Integer> unfiltered = createUnfiltered();
- unfiltered.put("cat", 3);
- unfiltered.put("dog", 2);
- unfiltered.put("horse", 5);
- Map<String, Integer> filtered = Maps.filterEntries(unfiltered, CORRECT_LENGTH);
- assertEquals(ImmutableMap.of("cat", 3, "horse", 5), filtered);
-
- filtered.put("chicken", 7);
- assertEquals(ImmutableMap.of("cat", 3, "horse", 5, "chicken", 7), filtered);
-
- try {
- filtered.put("cow", 7);
- fail();
- } catch (IllegalArgumentException expected) {
- }
- assertEquals(ImmutableMap.of("cat", 3, "horse", 5, "chicken", 7), filtered);
- }
-
- public void testFilteredEntriesIllegalPutAll() {
- Map<String, Integer> unfiltered = createUnfiltered();
- unfiltered.put("cat", 3);
- unfiltered.put("dog", 2);
- unfiltered.put("horse", 5);
- Map<String, Integer> filtered = Maps.filterEntries(unfiltered, CORRECT_LENGTH);
- assertEquals(ImmutableMap.of("cat", 3, "horse", 5), filtered);
-
- filtered.put("chicken", 7);
- assertEquals(ImmutableMap.of("cat", 3, "horse", 5, "chicken", 7), filtered);
-
- try {
- filtered.putAll(ImmutableMap.of("sheep", 5, "cow", 7));
- fail();
- } catch (IllegalArgumentException expected) {
- }
- assertEquals(ImmutableMap.of("cat", 3, "horse", 5, "chicken", 7), filtered);
- }
-
- public void testFilteredEntriesObjectPredicate() {
- Map<String, Integer> unfiltered = createUnfiltered();
- unfiltered.put("cat", 3);
- unfiltered.put("dog", 2);
- unfiltered.put("horse", 5);
- Predicate<Object> predicate = Predicates.alwaysFalse();
- Map<String, Integer> filtered = Maps.filterEntries(unfiltered, predicate);
- assertTrue(filtered.isEmpty());
- }
-
- public void testFilteredEntriesWildCardEntryPredicate() {
- Map<String, Integer> unfiltered = createUnfiltered();
- unfiltered.put("cat", 3);
- unfiltered.put("dog", 2);
- unfiltered.put("horse", 5);
- Predicate<Entry<?, ?>> predicate =
- new Predicate<Entry<?, ?>>() {
- @Override
- public boolean apply(Entry<?, ?> input) {
- return "cat".equals(input.getKey()) || Integer.valueOf(2) == input.getValue();
- }
- };
- Map<String, Integer> filtered = Maps.filterEntries(unfiltered, predicate);
- assertEquals(ImmutableMap.of("cat", 3, "dog", 2), filtered);
- }
}