Coverage Summary for Class: ListMultimapAsMapTester (com.google.common.collect.testing.google)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| ListMultimapAsMapTester | 0% (0/1) | 0% (0/7) | 0% (0/36) |
1 /* 2 * Copyright (C) 2013 The Guava Authors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 * in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the License 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11 * or implied. See the License for the specific language governing permissions and limitations under 12 * the License. 13 */ 14 15 package com.google.common.collect.testing.google; 16 17 import static com.google.common.collect.testing.features.CollectionSize.SEVERAL; 18 import static com.google.common.collect.testing.features.MapFeature.SUPPORTS_REMOVE; 19 20 import com.google.common.annotations.GwtCompatible; 21 import com.google.common.collect.Lists; 22 import com.google.common.collect.Maps; 23 import com.google.common.collect.Sets; 24 import com.google.common.collect.testing.Helpers; 25 import com.google.common.collect.testing.features.CollectionSize; 26 import com.google.common.collect.testing.features.MapFeature; 27 import com.google.common.testing.EqualsTester; 28 import java.util.ArrayList; 29 import java.util.Collection; 30 import java.util.Collections; 31 import java.util.List; 32 import java.util.Map; 33 import java.util.Map.Entry; 34 import java.util.Set; 35 import org.junit.Ignore; 36 37 /** 38 * Testers for {@link com.google.common.collect.ListMultimap#asMap}. 39 * 40 * @author Louis Wasserman 41 * @param <K> The key type of the tested multimap. 42 * @param <V> The value type of the tested multimap. 43 */ 44 @GwtCompatible 45 @Ignore // Affects only Android test runner, which respects JUnit 4 annotations on JUnit 3 tests. 46 public class ListMultimapAsMapTester<K, V> extends AbstractListMultimapTester<K, V> { 47 public void testAsMapValuesImplementList() { 48 for (Collection<V> valueCollection : multimap().asMap().values()) { 49 assertTrue(valueCollection instanceof List); 50 } 51 } 52 53 public void testAsMapGetImplementsList() { 54 for (K key : multimap().keySet()) { 55 assertTrue(multimap().asMap().get(key) instanceof List); 56 } 57 } 58 59 @MapFeature.Require(SUPPORTS_REMOVE) 60 public void testAsMapRemoveImplementsList() { 61 List<K> keys = new ArrayList<>(multimap().keySet()); 62 for (K key : keys) { 63 resetCollection(); 64 assertTrue(multimap().asMap().remove(key) instanceof List); 65 } 66 } 67 68 @CollectionSize.Require(SEVERAL) 69 public void testEquals() { 70 resetContainer( 71 Helpers.mapEntry(k0(), v0()), Helpers.mapEntry(k1(), v0()), Helpers.mapEntry(k0(), v3())); 72 Map<K, Collection<V>> expected = Maps.newHashMap(); 73 expected.put(k0(), Lists.newArrayList(v0(), v3())); 74 expected.put(k1(), Lists.newArrayList(v0())); 75 new EqualsTester().addEqualityGroup(expected, multimap().asMap()).testEquals(); 76 } 77 78 @CollectionSize.Require(SEVERAL) 79 public void testEntrySetEquals() { 80 resetContainer( 81 Helpers.mapEntry(k0(), v0()), Helpers.mapEntry(k1(), v0()), Helpers.mapEntry(k0(), v3())); 82 Set<Entry<K, Collection<V>>> expected = Sets.newHashSet(); 83 expected.add(Helpers.mapEntry(k0(), (Collection<V>) Lists.newArrayList(v0(), v3()))); 84 expected.add(Helpers.mapEntry(k1(), (Collection<V>) Lists.newArrayList(v0()))); 85 new EqualsTester().addEqualityGroup(expected, multimap().asMap().entrySet()).testEquals(); 86 } 87 88 @CollectionSize.Require(SEVERAL) 89 @MapFeature.Require(SUPPORTS_REMOVE) 90 public void testValuesRemove() { 91 resetContainer( 92 Helpers.mapEntry(k0(), v0()), Helpers.mapEntry(k1(), v0()), Helpers.mapEntry(k0(), v3())); 93 assertTrue(multimap().asMap().values().remove(Collections.singletonList(v0()))); 94 assertEquals(2, multimap().size()); 95 assertEquals( 96 Collections.singletonMap(k0(), Lists.newArrayList(v0(), v3())), multimap().asMap()); 97 } 98 }