@Test public void rehash_null_collision() { if (this.newMap() instanceof ConcurrentMap || this.newMap() instanceof SortedMap) { return; } MutableMapIterable<IntegerWithCast, String> mutableMapIterable = this.newMapWithKeyValue(null, null); for (int i = 0; i < 256; i++) { mutableMapIterable.put(new IntegerWithCast(i), String.valueOf(i)); } }
@Test public void removeNullFromValues() { if (this.newMap() instanceof ConcurrentMap) { return; } MutableMapIterable<String, Integer> map = this.newMapWithKeysValues("One", 1, "Two", 2, "Three", 3); Assert.assertFalse(map.values().remove(null)); Assert.assertEquals(UnifiedMap.newWithKeysValues("One", 1, "Two", 2, "Three", 3), map); map.put("Four", null); Assert.assertTrue(map.values().remove(null)); Assert.assertEquals(UnifiedMap.newWithKeysValues("One", 1, "Two", 2, "Three", 3), map); }
@Test public void put() { MutableMapIterable<Integer, String> map = this.newMapWithKeysValues(1, "One", 2, "Two"); Assert.assertNull(map.put(3, "Three")); Assert.assertEquals(UnifiedMap.newWithKeysValues(1, "One", 2, "Two", 3, "Three"), map); ImmutableList<Integer> key1 = Lists.immutable.with(null); ImmutableList<Integer> key2 = Lists.immutable.with(null); Object value1 = new Object(); Object value2 = new Object(); MutableMapIterable<ImmutableList<Integer>, Object> map2 = this.newMapWithKeyValue(key1, value1); Object previousValue = map2.put(key2, value2); Assert.assertSame(value1, previousValue); Assert.assertSame(key1, map2.keysView().getFirst()); }