@Override public Entry<E> lastEntry() { return forwardMultiset().firstEntry(); }
@Override public Entry<E> firstEntry() { return delegate().firstEntry(); }
@Override public Entry<E> firstEntry() { return delegate().firstEntry(); }
@Override public E first() { return getElementOrThrow(multiset().firstEntry()); }
@Override public E first() { return getElementOrThrow(multiset().firstEntry()); }
@Override public Entry<E> firstEntry() { return delegate().firstEntry(); }
@Override public Entry<E> lastEntry() { return forwardMultiset().firstEntry(); }
@Override public E ceiling(E e) { return getElementOrNull(multiset().tailMultiset(e, CLOSED).firstEntry()); }
@Override public E higher(E e) { return getElementOrNull(multiset().tailMultiset(e, OPEN).firstEntry()); }
@Override public Entry<E> firstEntry() { return delegate().firstEntry(); }
@CollectionSize.Require(ONE) public void testSingletonMultisetFirst() { assertEquals(a, sortedMultiset.firstEntry()); }
@CollectionSize.Require(SEVERAL) public void testFirst() { assertEquals(a, sortedMultiset.firstEntry()); }
@Override public Entry<E> lastEntry() { return forwardMultiset().firstEntry(); }
@Override public E ceiling(E e) { return getElementOrNull(multiset().tailMultiset(e, CLOSED).firstEntry()); }
@Override public E higher(E e) { return getElementOrNull(multiset().tailMultiset(e, OPEN).firstEntry()); }
@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(ZERO) public void testEmptyMultisetFirst() { assertNull(sortedMultiset.firstEntry()); try { sortedMultiset.elementSet().first(); fail(); } catch (NoSuchElementException e) { } }
@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(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()); }