@Override public Collection<V> values() { Collection<V> result = values; if (result == null) { values = result = Collections.unmodifiableCollection(delegate.values()); } return result; }
/** * @return constant symbols from a perspective of a subquery */ Set<Symbol> getConstantSymbols() { return ImmutableSet.copyOf(correlatedSymbolsMapping.values()); } }
@Override public Collection<V> values() { synchronized (mutex) { if (valuesCollection == null) { valuesCollection = collection(delegate().values(), mutex); } return valuesCollection; } }
@Override public Collection<V> values() { return delegate().values(); }
public void testValues() { List<V> expected = Lists.newArrayList(); for (Entry<K, V> entry : getSampleElements()) { expected.add(entry.getValue()); } assertEqualIgnoringOrder(expected, multimap().values()); }
@Override protected void verify(List<Integer> elements) { assertEquals(elements, Lists.newArrayList(multimap.values())); } }.test();
@CollectionFeature.Require(KNOWN_ORDER) public void testValuesInOrder() { List<V> expected = Lists.newArrayList(); for (Entry<K, V> entry : getOrderedElements()) { expected.add(entry.getValue()); } assertEqualInOrder(expected, multimap().values()); }
@MapFeature.Require(SUPPORTS_REMOVE) public void testClearThroughValues() { multimap().values().clear(); assertCleared(); }
@CollectionFeature.Require(SUPPORTS_ITERATOR_REMOVE) @CollectionSize.Require(ONE) public void testValuesIteratorRemove() { Iterator<V> valuesItr = multimap().values().iterator(); valuesItr.next(); valuesItr.remove(); assertTrue(multimap().isEmpty()); } }
@Override protected Iterator<Integer> newTargetIterator() { multimap = LinkedHashMultimap.create(); multimap.putAll("foo", asList(2, 3)); multimap.putAll("bar", asList(4, 5)); multimap.putAll("foo", asList(6)); return multimap.values().iterator(); }
public void testIndexIterator() { final Multimap<String, Object> stringToObject = new ImmutableMultimap.Builder<String, Object>() .put("1", 1) .put("1", 1L) .put("1", "1") .put("2", 2) .put("2", 2L) .build(); ImmutableMultimap<String, Object> outputMap = Multimaps.index(stringToObject.values().iterator(), Functions.toStringFunction()); assertEquals(stringToObject, outputMap); }
public void testIndex() { final Multimap<String, Object> stringToObject = new ImmutableMultimap.Builder<String, Object>() .put("1", 1) .put("1", 1L) .put("1", "1") .put("2", 2) .put("2", 2L) .build(); ImmutableMultimap<String, Object> outputMap = Multimaps.index(stringToObject.values(), Functions.toStringFunction()); assertEquals(stringToObject, outputMap); }
public void testValuesSpliterator() { List<Entry<String, Integer>> expectedEntries = asList( Maps.immutableEntry("foo", 2), Maps.immutableEntry("foo", 3), Maps.immutableEntry("bar", 4), Maps.immutableEntry("bar", 5), Maps.immutableEntry("foo", 6)); Multimap<String, Integer> multimap = LinkedHashMultimap.create(); for (Entry<String, Integer> entry : expectedEntries) { multimap.put(entry.getKey(), entry.getValue()); } List<Integer> actualValues = new ArrayList<>(); multimap.values().spliterator().forEachRemaining(actualValues::add); assertThat(actualValues) .containsExactlyElementsIn(Lists.transform(expectedEntries, Entry::getValue)) .inOrder(); } }
@Override public Collection<V> create(Object... elements) { K k = ((TestMultimapGenerator<K, V, M>) multimapGenerator.getInnerGenerator()) .sampleKeys() .e0(); Entry<K, V>[] entries = new Entry[elements.length]; for (int i = 0; i < elements.length; i++) { entries[i] = mapEntry(k, (V) elements[i]); } return multimapGenerator.create((Object[]) entries).values(); }
@GwtIncompatible // SerializableTester public void testSerialization() { Multimap<String, Integer> multimap = createMultimap(); SerializableTester.reserializeAndAssert(multimap); assertEquals(multimap.size(), SerializableTester.reserialize(multimap).size()); SerializableTester.reserializeAndAssert(multimap.get("foo")); LenientSerializableTester.reserializeAndAssertLenient(multimap.keySet()); LenientSerializableTester.reserializeAndAssertLenient(multimap.keys()); SerializableTester.reserializeAndAssert(multimap.asMap()); Collection<Integer> valuesCopy = SerializableTester.reserialize(multimap.values()); assertEquals(HashMultiset.create(multimap.values()), HashMultiset.create(valuesCopy)); }
@GwtIncompatible // SerializableTester public void testSerialization() { Multimap<String, Integer> multimap = createMultimap(); SerializableTester.reserializeAndAssert(multimap); assertEquals(multimap.size(), SerializableTester.reserialize(multimap).size()); SerializableTester.reserializeAndAssert(multimap.get("foo")); LenientSerializableTester.reserializeAndAssertLenient(multimap.keySet()); LenientSerializableTester.reserializeAndAssertLenient(multimap.keys()); SerializableTester.reserializeAndAssert(multimap.asMap()); Collection<Integer> valuesCopy = SerializableTester.reserialize(multimap.values()); assertEquals(HashMultiset.create(multimap.values()), HashMultiset.create(valuesCopy)); }
private void assertCleared() { assertEquals(0, multimap().size()); assertEmpty(multimap()); assertEquals(multimap(), getSubjectGenerator().create()); assertEmpty(multimap().entries()); assertEmpty(multimap().asMap()); assertEmpty(multimap().keySet()); assertEmpty(multimap().keys()); assertEmpty(multimap().values()); for (K key : sampleKeys()) { assertGet(key); } }
public void testEmptyMultimapReads() { Multimap<String, Integer> multimap = ImmutableListMultimap.of(); assertFalse(multimap.containsKey("foo")); assertFalse(multimap.containsValue(1)); assertFalse(multimap.containsEntry("foo", 1)); assertTrue(multimap.entries().isEmpty()); assertTrue(multimap.equals(ArrayListMultimap.create())); assertEquals(Collections.emptyList(), multimap.get("foo")); assertEquals(0, multimap.hashCode()); assertTrue(multimap.isEmpty()); assertEquals(HashMultiset.create(), multimap.keys()); assertEquals(Collections.emptySet(), multimap.keySet()); assertEquals(0, multimap.size()); assertTrue(multimap.values().isEmpty()); assertEquals("{}", multimap.toString()); }
public void testEmptyMultimapReads() { Multimap<String, Integer> multimap = ImmutableSetMultimap.of(); assertFalse(multimap.containsKey("foo")); assertFalse(multimap.containsValue(1)); assertFalse(multimap.containsEntry("foo", 1)); assertTrue(multimap.entries().isEmpty()); assertTrue(multimap.equals(HashMultimap.create())); assertEquals(Collections.emptySet(), multimap.get("foo")); assertEquals(0, multimap.hashCode()); assertTrue(multimap.isEmpty()); assertEquals(HashMultiset.create(), multimap.keys()); assertEquals(Collections.emptySet(), multimap.keySet()); assertEquals(0, multimap.size()); assertTrue(multimap.values().isEmpty()); assertEquals("{}", multimap.toString()); }