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 org.truth0.Truth.ASSERT;
 
 
 import java.util.Map;
Superclass for all Multimap testers.

Author(s):
Louis Wasserman
 
 public abstract class AbstractMultimapTester<K, V, M extends Multimap<K, V>>
     extends AbstractContainerTester<M, Map.Entry<K, V>> {
 
   private M multimap;
 
   protected M multimap() {
     return ;
   }

  

Returns:
an array of the proper size with null as the key of the middle element.
 
   protected Map.Entry<K, V>[] createArrayWithNullKey() {
     Map.Entry<K, V>[] array = createSamplesArray();
     final int nullKeyLocation = getNullLocation();
     final Map.Entry<K, V> oldEntry = array[nullKeyLocation];
     array[nullKeyLocation] = Helpers.mapEntry(nulloldEntry.getValue());
     return array;
   }

  

Returns:
an array of the proper size with null as the value of the middle element.
 
   protected Map.Entry<K, V>[] createArrayWithNullValue() {
     Map.Entry<K, V>[] array = createSamplesArray();
     final int nullValueLocation = getNullLocation();
     final Map.Entry<K, V> oldEntry = array[nullValueLocation];
     array[nullValueLocation] = Helpers.mapEntry(oldEntry.getKey(), null);
     return array;
   }

  

Returns:
an array of the proper size with null as the key and value of the middle element.
 
   protected Map.Entry<K, V>[] createArrayWithNullKeyAndValue() {
     Map.Entry<K, V>[] array = createSamplesArray();
     final int nullValueLocation = getNullLocation();
     array[nullValueLocation] = Helpers.mapEntry(nullnull);
     return array;
   }
 
   protected V getValueForNullKey() {
     return getEntryNullReplaces().getValue();
   }
 
   protected K getKeyForNullValue() {
     return getEntryNullReplaces().getKey();
   }
 
   private Entry<K, V> getEntryNullReplaces() {
     Iterator<Entry<K, V>> entries = getSampleElements().iterator();
     for (int i = 0; i < getNullLocation(); i++) {
       entries.next();
     }
     return entries.next();
   }
 
   protected void initMultimapWithNullKey() {
  }
  protected void initMultimapWithNullValue() {
  }
  protected void initMultimapWithNullKeyAndValue() {
  }
  protected SampleElements<K> sampleKeys() {
    return ((TestMultimapGenerator<K, V, ? extends Multimap<K, V>>) getSubjectGenerator()
        .getInnerGenerator()).sampleKeys();
  }
  protected SampleElements<V> sampleValues() {
    return ((TestMultimapGenerator<K, V, ? extends Multimap<K, V>>) getSubjectGenerator()
        .getInnerGenerator()).sampleValues();
  }
  protected Collection<Entry<K, V>> actualContents() {
    return .entries();
  }
  // TODO: dispose of this once collection is encapsulated.
  protected M resetContainer(M newContents) {
     = super.resetContainer(newContents);
    return ;
  }
  protected Multimap<K, V> resetContainer(Entry<K, V>... newContents) {
     = super.resetContainer(getSubjectGenerator().create(newContents));
    return ;
  }

  
  protected void resetCollection() {
  }
  protected void assertGet(K key, V... values) {
    assertGet(key, Arrays.asList(values));
  }
  protected void assertGet(K keyCollection<V> values) {
    .that(multimap().get(key)).has().exactlyAs(values);
    if (!values.isEmpty()) {
      .that(multimap().asMap().get(key)).has().exactlyAs(values);
      assertFalse(multimap().isEmpty());
    } else {
      .that(multimap().asMap().get(key)).isNull();
    }
    // TODO(user): Add proper overrides to prevent autoboxing.
    // Truth+autoboxing == compile error. Cast int to long to fix:
    .that(multimap().get(key).size()).is((longvalues.size());
    assertEquals(values.size() > 0, multimap().containsKey(key));
    assertEquals(values.size() > 0, multimap().keySet().contains(key));
    assertEquals(values.size() > 0, multimap().keys().contains(key));
  }
New to GrepCode? Check out our FAQ X