Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2008 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;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 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 java.util.List;
 import java.util.Map;
 import java.util.Set;

Tests MapTestSuiteBuilder by using it against maps that have various negative behaviors.

Author(s):
George van den Driessche
 
 public final class MapTestSuiteBuilderTests extends TestCase {
   private MapTestSuiteBuilderTests() {}
 
   public static Test suite() {
     TestSuite suite = new TestSuite(
         MapTestSuiteBuilderTests.class.getSimpleName());
     return suite;
   }
 
   private abstract static class WrappedHashMapGenerator
       extends TestStringMapGenerator {
     @Override protected final Map<StringStringcreate(
         Map.Entry<StringString>[] entries) {
       HashMap<StringStringmap = Maps.newHashMap();
       for (Map.Entry<StringStringentry : entries) {
         map.put(entry.getKey(), entry.getValue());
       }
       return wrap(map);
     }
 
     abstract Map<StringStringwrap(HashMap<StringStringmap);
   }
 
   private static TestSuite wrappedHashMapTests(
       WrappedHashMapGenerator generatorString nameFeature<?>... features) {
     List<Feature<?>> featuresList = Lists.newArrayList(features);
     Collections.addAll(featuresList,
         .,
         .);
     return MapTestSuiteBuilder.using(generator)
         .named(name)
         .withFeatures(featuresList)
         .createTestSuite();
   }
 
   // TODO: consider being null-hostile in these tests
 
   private static Test testsForHashMapNullKeysForbidden() {
       @Override Map<StringStringwrap(final HashMap<StringStringmap) {
         if (map.containsKey(null)) {
           throw new NullPointerException();
         }
         return new AbstractMap<StringString>() {
           @Override public Set<Map.Entry<StringString>> entrySet() {
             return map.entrySet();
           }
           @Override public String put(String keyString value) {
             checkNotNull(key);
             return map.put(keyvalue);
          }
        };
      }
    }, "HashMap w/out null keys");
  }
  private static Test testsForHashMapNullValuesForbidden() {
      @Override Map<StringStringwrap(final HashMap<StringStringmap) {
        if (map.containsValue(null)) {
          throw new NullPointerException();
        }
        return new AbstractMap<StringString>() {
          @Override public Set<Map.Entry<StringString>> entrySet() {
            return map.entrySet();
          }
          @Override public String put(String keyString value) {
            checkNotNull(value);
            return map.put(keyvalue);
          }
        };
      }
    }, "HashMap w/out null values");
  }
New to GrepCode? Check out our FAQ X