Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2012 The Guava Authors
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.google.common.collect.testing.google;
 
 import static com.google.common.base.Preconditions.checkState;
 import static com.google.common.collect.testing.features.CollectionSize.ZERO;
 import static com.google.common.collect.testing.features.MapFeature.ALLOWS_NULL_KEYS;
 import static com.google.common.collect.testing.features.MapFeature.ALLOWS_NULL_VALUES;
 import static com.google.common.collect.testing.features.MapFeature.SUPPORTS_PUT;
 import static org.truth0.Truth.ASSERT;
 
 
 
 public class MultimapPutIterableTester<K, V> extends AbstractMultimapTester<K, V, Multimap<K, V>> {
   @CollectionSize.Require(absent = )
     assertTrue(multimap().putAll(sampleKeys().new Iterable<V>() {
       @Override
       public Iterator<V> iterator() {
         return Lists.newArrayList(sampleValues().sampleValues().).iterator();
       }
     }));
   }
   
   @CollectionSize.Require(absent = )
         sampleKeys()., Lists.newArrayList(sampleValues().sampleValues().)));
   }
 
     assertTrue(multimap().putAll(sampleKeys().new Iterable<V>() {
       @Override
       public Iterator<V> iterator() {
         return Lists.newArrayList(sampleValues().sampleValues().).iterator();
       }
     }));
   }
 
         sampleKeys()., Lists.newArrayList(sampleValues().sampleValues().)));
   }
   
   @CollectionSize.Require(absent = )
     assertGet(sampleKeys().sampleValues().sampleValues().null);
   }
   
     assertGet(sampleKeys().sampleValues().null);
   }
 
   @MapFeature.Require(value = , absent = )
     multimap().putAll(sampleKeys()., Lists.newArrayList((V) null));
     expectUnchanged();
   }
 
  // In principle, it would be nice to apply these two tests to keys with existing values, too.
  
    int size = getNumElements();
    try {
      multimap().putAll(sampleKeys()., Lists.newArrayList(sampleValues().null));
      fail();
    } catch (NullPointerException expected) {
    }
    Collection<V> values = multimap().get(sampleKeys().);
    if (values.size() == 0) {
      expectUnchanged();
      // Be extra thorough in case internal state was corrupted by the expected null.
      assertEquals(Lists.newArrayList(), Lists.newArrayList(values));
      assertEquals(sizemultimap().size());
    } else {
      assertEquals(Lists.newArrayList(sampleValues().), Lists.newArrayList(values));
      assertEquals(size + 1, multimap().size());
    }
  }
    int size = getNumElements();
    try {
      multimap().putAll(sampleKeys()., Lists.newArrayList(nullsampleValues().));
      fail();
    } catch (NullPointerException expected) {
    }
    /*
     * In principle, a Multimap implementation could add e3 first before failing on the null. But
     * that seems unlikely enough to be worth complicating the test over, especially if there's any
     * chance that a permissive test could mask a bug.
     */
    // Be extra thorough in case internal state was corrupted by the expected null.
    assertEquals(sizemultimap().size());
  }
  public void testPutAllOnPresentNullKey() {
    assertGet(nullsampleValues().sampleValues().);
  }
  public void testPutAllNullForbidden() {
    try {
      multimap().putAll(null, Collections.singletonList(sampleValues().));
      fail("Expected NullPointerException");
    } catch (NullPointerException expected) {
      // success
    }
  }
  private static final Object[] EMPTY = new Object[0];
    assertFalse(multimap().putAll(sampleKeys()., Collections.<V>emptyList()));
  }
    Iterable<V> iterable = new Iterable<V>() {
      @Override
      public Iterator<V> iterator() {
        return Iterators.emptyIterator();
      }
    };
    assertFalse(multimap().putAll(sampleKeys().iterable));
  }
  @CollectionSize.Require(absent = )
    multimap().putAll(sampleKeys()., Collections.<V>emptyList());
  }
  
  public void testPutAllOnlyCallsIteratorOnce() {
    Iterable<V> iterable = new Iterable<V>() {
      private boolean calledIteratorAlready = false;
      @Override
      public Iterator<V> iterator() {
         = true;
        return Iterators.forArray(sampleValues().);
      }
    };
    
    multimap().putAll(sampleKeys().iterable);
  }
  public void testPutAllPropagatesToGet() {
    Collection<V> getCollection = multimap().get(sampleKeys().);
    int getCollectionSize = getCollection.size();
        sampleKeys()., Lists.newArrayList(sampleValues().sampleValues().)));
    assertEquals(getCollectionSize + 2, getCollection.size());
    .that(getCollection).has().allOf(sampleValues().sampleValues().);
  }
New to GrepCode? Check out our FAQ X