diff options
Diffstat (limited to 'guava-tests/test/com/google/common/collect/FilteredMapTest.java')
-rw-r--r-- | guava-tests/test/com/google/common/collect/FilteredMapTest.java | 186 |
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); - } } |