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.testers;
 
 import static com.google.common.collect.testing.features.CollectionSize.SEVERAL;
 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_QUERIES;
 import static com.google.common.collect.testing.features.MapFeature.FAILS_FAST_ON_CONCURRENT_MODIFICATION;
 import static com.google.common.collect.testing.features.MapFeature.SUPPORTS_REMOVE;
 
 
A generic JUnit test which tests remove operations on a map. Can't be invoked directly; please see com.google.common.collect.testing.MapTestSuiteBuilder.

This class is GWT compatible.

Author(s):
George van den Driessche
Chris Povirk
 
 @SuppressWarnings("unchecked"// too many "unchecked generic array creations"
 public class MapRemoveTester<K, V> extends AbstractMapTester<K, V> {
   @CollectionSize.Require(absent = )
   public void testRemove_present() {
     int initialSize = getMap().size();
     assertEquals("remove(present) should return the associated value",
         ..getValue(), getMap().remove(..getKey()));
     assertEquals("remove(present) should decrease a map's size by one.",
         initialSize - 1, getMap().size());
   }
 
       })
     try {
       Iterator<Entry<K, V>> iterator = getMap().entrySet().iterator();
       getMap().remove(..getKey());
       iterator.next();
       fail("Expected ConcurrentModificationException");
     } catch (ConcurrentModificationException expected) {
       // success
     }
   }
 
       })
     try {
       Iterator<K> iterator = getMap().keySet().iterator();
       getMap().remove(..getKey());
       iterator.next();
       fail("Expected ConcurrentModificationException");
     } catch (ConcurrentModificationException expected) {
       // success
     }
   }
 
       })
     try {
       Iterator<V> iterator = getMap().values().iterator();
       getMap().remove(..getKey());
       iterator.next();
       fail("Expected ConcurrentModificationException");
     } catch (ConcurrentModificationException expected) {
       // success
     }
  }
  public void testRemove_notPresent() {
    assertNull("remove(notPresent) should return null",
        getMap().remove(..getKey()));
  }
  @CollectionSize.Require(absent = )
  public void testRemove_nullPresent() {
    int initialSize = getMap().size();
    assertEquals("remove(null) should return the associated value",
        getValueForNullKey(), getMap().remove(null));
    assertEquals("remove(present) should decrease a map's size by one.",
        initialSize - 1, getMap().size());
  }
  @CollectionSize.Require(absent = )
  public void testRemove_unsupported() {
    try {
      getMap().remove(..getKey());
      fail("remove(present) should throw UnsupportedOperationException");
    } catch (UnsupportedOperationException expected) {
    }
    assertEquals("remove(present) should not remove the element",
        ..getValue(), get(..getKey()));
  }
    try {
      assertNull("remove(notPresent) should return null or throw "
          + "UnsupportedOperationException",
          getMap().remove(..getKey()));
    } catch (UnsupportedOperationException tolerated) {
    }
  }
      value = ,
      absent = )
    try {
      assertNull("remove(null) should return null or throw "
          + "NullPointerException",
          getMap().remove(null));
    } catch (NullPointerException tolerated) {
    }
  }
  public void testRemove_nullSupportedMissing() {
    assertNull("remove(null) should return null"getMap().remove(null));
  }
  public void testRemove_wrongType() {
    try {
    } catch (ClassCastException tolerated) {
    }
  }
New to GrepCode? Check out our FAQ X