@Override public SampleElements<Multiset.Entry<E>> samples() { SampleElements<E> samples = gen.samples(); return new SampleElements<>( Multisets.immutableEntry(samples.e0(), 3), Multisets.immutableEntry(samples.e1(), 4), Multisets.immutableEntry(samples.e2(), 1), Multisets.immutableEntry(samples.e3(), 5), Multisets.immutableEntry(samples.e4(), 2)); }
@Override public Entry<E> pollFirstEntry() { Iterator<Entry<E>> entryIterator = entryIterator(); if (entryIterator.hasNext()) { Entry<E> result = entryIterator.next(); result = Multisets.immutableEntry(result.getElement(), result.getCount()); entryIterator.remove(); return result; } return null; }
@Override public Entry<E> pollLastEntry() { Iterator<Entry<E>> entryIterator = descendingEntryIterator(); if (entryIterator.hasNext()) { Entry<E> result = entryIterator.next(); result = Multisets.immutableEntry(result.getElement(), result.getCount()); entryIterator.remove(); return result; } return null; }
public void testForEachEntryDuplicates() { initThreeCopies(); List<Entry<E>> expected = Collections.singletonList(Multisets.immutableEntry(e0(), 3)); List<Entry<E>> actual = new ArrayList<>(); getMultiset() .forEachEntry((element, count) -> actual.add(Multisets.immutableEntry(element, count))); assertEquals(expected, actual); }
public void testForEachEntry() { List<Entry<E>> expected = new ArrayList<>(getMultiset().entrySet()); List<Entry<E>> actual = new ArrayList<>(); getMultiset() .forEachEntry((element, count) -> actual.add(Multisets.immutableEntry(element, count))); Helpers.assertEqualIgnoringOrder(expected, actual); }
@Override public String toString() { return Multisets.immutableEntry(getElement(), getCount()).toString(); } }
@CollectionFeature.Require(KNOWN_ORDER) public void testForEachEntryOrdered() { List<Entry<E>> expected = new ArrayList<>(getMultiset().entrySet()); List<Entry<E>> actual = new ArrayList<>(); getMultiset() .forEachEntry((element, count) -> actual.add(Multisets.immutableEntry(element, count))); assertEquals(expected, actual); }
public void testEntrySet_contains_count0() { assertFalse( "multiset.entrySet() contains [missing, 0]", getMultiset().entrySet().contains(Multisets.immutableEntry(e3(), 0))); }
@CollectionSize.Require(ONE) @CollectionFeature.Require(SUPPORTS_ITERATOR_REMOVE) public void testKeysEntrySetIteratorRemove() { Multiset<K> keys = multimap().keys(); Iterator<Multiset.Entry<K>> itr = keys.entrySet().iterator(); assertEquals(Multisets.immutableEntry(k0(), 1), itr.next()); itr.remove(); assertTrue(multimap().isEmpty()); }
@CollectionSize.Require(absent = ZERO) public void testEntrySet_contains() { assertTrue( "multiset.entrySet() didn't contain [present, 1]", getMultiset().entrySet().contains(Multisets.immutableEntry(e0(), 1))); }
public void testForEachEntry() { ImmutableSortedMultiset<String> multiset = ImmutableSortedMultiset.<String>naturalOrder().add("a").add("b").add("a").add("c").build(); List<Multiset.Entry<String>> entries = new ArrayList<>(); multiset.forEachEntry((e, c) -> entries.add(Multisets.immutableEntry(e, c))); assertThat(entries) .containsExactly( Multisets.immutableEntry("a", 2), Multisets.immutableEntry("b", 1), Multisets.immutableEntry("c", 1)) .inOrder(); }
public void testHighestCountFirst() { Multiset<String> multiset = HashMultiset.create(Arrays.asList("a", "a", "a", "b", "c", "c")); ImmutableMultiset<String> sortedMultiset = Multisets.copyHighestCountFirst(multiset); assertThat(sortedMultiset.entrySet()) .containsExactly( Multisets.immutableEntry("a", 3), Multisets.immutableEntry("c", 2), Multisets.immutableEntry("b", 1)) .inOrder(); assertThat(sortedMultiset).containsExactly("a", "a", "a", "c", "c", "b").inOrder(); assertThat(Multisets.copyHighestCountFirst(ImmutableMultiset.of())).isEmpty(); }
@CollectionSize.Require(ONE) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testEntrySet_retainAllPresent() { assertFalse( "multiset.entrySet.retainAll(presentEntry) returned false", getMultiset() .entrySet() .retainAll(Collections.singleton(Multisets.immutableEntry(e0(), 1)))); assertTrue( "multiset doesn't contains element after retaining its entry", getMultiset().contains(e0())); }
@CollectionSize.Require(absent = ZERO) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testEntrySet_removeAllPresent() { assertTrue( "multiset.entrySet.removeAll(presentEntry) returned false", getMultiset() .entrySet() .removeAll(Collections.singleton(Multisets.immutableEntry(e0(), 1)))); assertFalse("multiset contains element after removing its entry", getMultiset().contains(e0())); }
@CollectionSize.Require(absent = ZERO) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testEntrySet_removeAllAbsent() { assertFalse( "multiset.entrySet.remove(missingEntry) returned true", getMultiset() .entrySet() .removeAll(Collections.singleton(Multisets.immutableEntry(e0(), 2)))); assertTrue( "multiset didn't contain element after removing a missing entry", getMultiset().contains(e0())); }
@CollectionSize.Require(ONE) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testEntrySet_retainAllAbsent() { assertTrue( "multiset.entrySet.retainAll(missingEntry) returned true", getMultiset() .entrySet() .retainAll(Collections.singleton(Multisets.immutableEntry(e0(), 2)))); assertFalse( "multiset contains element after retaining a different entry", getMultiset().contains(e0())); }
@CollectionSize.Require(absent = ZERO) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testEntrySet_removeAbsent() { assertFalse( "multiset.entrySet.remove(missingEntry) returned true", getMultiset().entrySet().remove(Multisets.immutableEntry(e0(), 2))); assertTrue( "multiset didn't contain element after removing a missing entry", getMultiset().contains(e0())); }
@CollectionSize.Require(absent = ZERO) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testEntrySet_removePresent() { assertTrue( "multiset.entrySet.remove(presentEntry) returned false", getMultiset().entrySet().remove(Multisets.immutableEntry(e0(), 1))); assertFalse("multiset contains element after removing its entry", getMultiset().contains(e0())); }
@CollectionSize.Require(SEVERAL) @MapFeature.Require(SUPPORTS_REMOVE) public void testKeysEntrySetRemove() { resetContainer( Helpers.mapEntry(k0(), v0()), Helpers.mapEntry(k0(), v1()), Helpers.mapEntry(k1(), v0())); assertTrue(multimap().keys().entrySet().remove(Multisets.immutableEntry(k0(), 2))); assertEquals(1, multimap().size()); assertTrue(multimap().containsEntry(k1(), v0())); } }
@CollectionSize.Require(SEVERAL) public void testKeys() { resetContainer( Helpers.mapEntry(k0(), v0()), Helpers.mapEntry(k0(), v1()), Helpers.mapEntry(k1(), v0())); Multiset<K> keys = multimap().keys(); assertEquals(2, keys.count(k0())); assertEquals(1, keys.count(k1())); assertEquals(3, keys.size()); assertContainsAllOf(keys, k0(), k1()); assertContainsAllOf( keys.entrySet(), Multisets.immutableEntry(k0(), 2), Multisets.immutableEntry(k1(), 1)); }