@Override <E> SortedMultiset<E> subMultiset( SortedMultiset<E> multiset, List<Entry<E>> entries, int targetEntry) { return multiset.tailMultiset(entries.get(targetEntry).getElement(), CLOSED); } },
@Override <E> SortedMultiset<E> subMultiset( SortedMultiset<E> multiset, List<Entry<E>> entries, int targetEntry) { return multiset.tailMultiset(entries.get(targetEntry).getElement(), OPEN); } },
@Override public SortedMultiset<E> tailMultiset(E lowerBound, BoundType boundType) { return delegate().tailMultiset(lowerBound, boundType); } }
@Override public SortedMultiset<E> tailMultiset(E lowerBound, BoundType boundType) { return Multisets.unmodifiableSortedMultiset(delegate().tailMultiset(lowerBound, boundType)); }
@Override public NavigableSet<E> tailSet(E fromElement, boolean inclusive) { return new NavigableElementSet<E>( multiset().tailMultiset(fromElement, BoundType.forBoolean(inclusive))); } }
@CollectionSize.Require(SEVERAL) public void testHigher() { resetWithHole(); assertEquals(c, sortedMultiset.tailMultiset(a.getElement(), OPEN).firstEntry()); assertEquals(c, sortedMultiset.tailMultiset(b.getElement(), OPEN).firstEntry()); assertEquals(null, sortedMultiset.tailMultiset(c.getElement(), OPEN).firstEntry()); }
@CollectionSize.Require(SEVERAL) public void testCeiling() { resetWithHole(); assertEquals(a, sortedMultiset.tailMultiset(a.getElement(), CLOSED).firstEntry()); assertEquals(c, sortedMultiset.tailMultiset(b.getElement(), CLOSED).firstEntry()); assertEquals(c, sortedMultiset.tailMultiset(c.getElement(), CLOSED).firstEntry()); }
@CollectionSize.Require(ONE) @CollectionFeature.Require(SUPPORTS_ADD) public void testAddOutOfTailBoundsOne() { expectAddFailure(sortedMultiset.tailMultiset(a.getElement(), OPEN), a); }
@CollectionSize.Require(ONE) @CollectionFeature.Require({SUPPORTS_ADD, SUPPORTS_REMOVE}) public void testSetCountOutOfTailBoundsOne() { expectSetCountFailure(sortedMultiset.tailMultiset(a.getElement(), OPEN), a); }
@CollectionSize.Require(ONE) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testRemoveOutOfTailBoundsOne() { expectRemoveZero(sortedMultiset.tailMultiset(a.getElement(), OPEN), a); }
@CollectionSize.Require(ONE) public void testSingletonMultisetNearby() { assertNull(sortedMultiset.headMultiset(e0(), OPEN).lastEntry()); assertNull(sortedMultiset.tailMultiset(e0(), OPEN).lastEntry()); assertEquals(a, sortedMultiset.headMultiset(e0(), CLOSED).lastEntry()); assertEquals(a, sortedMultiset.tailMultiset(e0(), CLOSED).firstEntry()); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testClearTailClosedEntrySet() { List<Entry<E>> expected = copyToList(sortedMultiset.headMultiset(b.getElement(), OPEN).entrySet()); sortedMultiset.tailMultiset(b.getElement(), CLOSED).entrySet().clear(); assertEquals(expected, copyToList(sortedMultiset.entrySet())); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testClearHeadClosedEntrySet() { List<Entry<E>> expected = copyToList(sortedMultiset.tailMultiset(b.getElement(), OPEN).entrySet()); sortedMultiset.headMultiset(b.getElement(), CLOSED).entrySet().clear(); assertEquals(expected, copyToList(sortedMultiset.entrySet())); } }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testClearTailOpenEntrySet() { List<Entry<E>> expected = copyToList(sortedMultiset.headMultiset(b.getElement(), CLOSED).entrySet()); sortedMultiset.tailMultiset(b.getElement(), OPEN).entrySet().clear(); assertEquals(expected, copyToList(sortedMultiset.entrySet())); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testClearHeadOpenEntrySet() { List<Entry<E>> expected = copyToList(sortedMultiset.tailMultiset(b.getElement(), CLOSED).entrySet()); sortedMultiset.headMultiset(b.getElement(), OPEN).entrySet().clear(); assertEquals(expected, copyToList(sortedMultiset.entrySet())); }
@CollectionSize.Require(ZERO) public void testEmptyMultisetNearby() { for (BoundType type : BoundType.values()) { assertNull(sortedMultiset.headMultiset(e0(), type).lastEntry()); assertNull(sortedMultiset.tailMultiset(e0(), type).firstEntry()); } }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testClearTailOpen() { List<Entry<E>> expected = copyToList(sortedMultiset.headMultiset(b.getElement(), CLOSED).entrySet()); sortedMultiset.tailMultiset(b.getElement(), OPEN).clear(); assertEquals(expected, copyToList(sortedMultiset.entrySet())); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testClearHeadClosed() { List<Entry<E>> expected = copyToList(sortedMultiset.tailMultiset(b.getElement(), OPEN).entrySet()); sortedMultiset.headMultiset(b.getElement(), CLOSED).clear(); assertEquals(expected, copyToList(sortedMultiset.entrySet())); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testClearTailClosed() { List<Entry<E>> expected = copyToList(sortedMultiset.headMultiset(b.getElement(), OPEN).entrySet()); sortedMultiset.tailMultiset(b.getElement(), CLOSED).clear(); assertEquals(expected, copyToList(sortedMultiset.entrySet())); }
@CollectionSize.Require(SEVERAL) @CollectionFeature.Require(SUPPORTS_REMOVE) public void testClearHeadOpen() { List<Entry<E>> expected = copyToList(sortedMultiset.tailMultiset(b.getElement(), CLOSED).entrySet()); sortedMultiset.headMultiset(b.getElement(), OPEN).clear(); assertEquals(expected, copyToList(sortedMultiset.entrySet())); }