/** * Creates a map which wraps the given map and * maps keys to ArrayLists. * * @param map the map to wrap */ public static MultiValueMap decorate(Map map) { return new MultiValueMap(map, new ReflectionFactory(ArrayList.class)); }
public void testGetCollection() { MultiValueMap map = new MultiValueMap(); map.put("A", "AA"); assertSame(map.get("A"), map.getCollection("A")); }
public void testRemove_KeyItem() { MultiValueMap map = new MultiValueMap(); map.put("A", "AA"); map.put("A", "AB"); map.put("A", "AC"); assertEquals(null, map.remove("C", "CA")); assertEquals(null, map.remove("A", "AD")); assertEquals("AC", map.remove("A", "AC")); assertEquals("AB", map.remove("A", "AB")); assertEquals("AA", map.remove("A", "AA")); assertEquals(new MultiValueMap(), map); }
public void testInternalState() { HashedMap map = new HashedMap(42, 0.75f); assertEquals(0.75f, map.loadFactor, 0.1f); assertEquals(0, map.size); assertEquals(64, map.data.length); assertEquals(48, map.threshold); assertEquals(0, map.modCount); }
public void testKeyValue() { SingletonMap map = new SingletonMap(ONE, TWO); assertEquals(1, map.size()); assertEquals(ONE, map.getKey()); assertEquals(TWO, map.getValue()); assertTrue(map instanceof KeyValue); }
/** * Creates a values iterator. * Subclasses can override this to return iterators with different properties. * * @return the values iterator */ protected Iterator createValuesIterator() { if (size() == 0) { return EmptyOrderedIterator.INSTANCE; } return new ValuesIterator(this); }
/** * Creates an entry set iterator. * Subclasses can override this to return iterators with different properties. * * @return the entrySet iterator */ protected Iterator createEntrySetIterator() { if (size() == 0) { return EmptyOrderedIterator.INSTANCE; } return new EntrySetIterator(this); }
/** * Creates an entry set iterator. * Subclasses can override this to return iterators with different properties. * * @return the entrySet iterator */ protected Iterator createEntrySetIterator() { if (size() == 0) { return EmptyIterator.INSTANCE; } return new EntrySetIterator(this); }
/** * Creates a key set iterator. * Subclasses can override this to return iterators with different properties. * * @return the keySet iterator */ protected Iterator createKeySetIterator() { if (size() == 0) { return EmptyIterator.INSTANCE; } return new KeySetIterator(this); }
public void testDecorateFactory() { Map map = makeFullMap(); assertSame(map, UnmodifiableSortedMap.decorate((SortedMap) map)); try { UnmodifiableSortedMap.decorate(null); fail(); } catch (IllegalArgumentException ex) {} }
public void testBoundedMap() { SingletonMap map = new SingletonMap(ONE, TWO); assertEquals(1, map.size()); assertEquals(true, map.isFull()); assertEquals(1, map.maxSize()); assertTrue(map instanceof BoundedMap); }
public void testContainsValue() { final MultiValueMap map = createTestMap(HashSet.class); assertTrue(map.containsValue("uno")); assertTrue(map.containsValue("un")); assertTrue(map.containsValue("dos")); assertTrue(map.containsValue("deux")); assertTrue(map.containsValue("tres")); assertTrue(map.containsValue("trois")); assertFalse(map.containsValue("quatro")); }
public void testDecorateFactory() { Map map = makeFullMap(); assertSame(map, UnmodifiableOrderedMap.decorate((OrderedMap) map)); try { UnmodifiableOrderedMap.decorate(null); fail(); } catch (IllegalArgumentException ex) {} }
public void resetEmpty() { // needed to init verify correctly main.resetEmpty(); super.resetEmpty(); } public void resetFull() {
/** * Creates a map which decorates the given <code>map</code> and * maps keys to collections of type <code>collectionClass</code>. * * @param map the map to wrap * @param collectionClass the type of the collection class */ public static MultiValueMap decorate(Map map, Class collectionClass) { return new MultiValueMap(map, new ReflectionFactory(collectionClass)); }