@Override public Entry<K, V> ceilingEntry(K key) { return unmodifiableOrNull(delegate.ceilingEntry(key)); }
@Override public Entry<K, V> ceilingEntry(K key) { return unmodifiableOrNull(delegate.ceilingEntry(key)); }
@Override public Entry<K, V> ceilingEntry(K key) { synchronized (mutex) { return nullableSynchronizedEntry(delegate().ceilingEntry(key), mutex); } }
@Override public Entry<K, V> ceilingEntry(K key) { synchronized (mutex) { return nullableSynchronizedEntry(delegate().ceilingEntry(key), mutex); } }
@Override public Entry<K, V> ceilingEntry(K key) { return delegate.ceilingEntry(checkValid(key)); }
@Override public Entry<K, V> floorEntry(K key) { return forward().ceilingEntry(key); }
@Override public Entry<K, V> ceilingEntry(K key) { return delegate().ceilingEntry(key); }
@Override public Entry<K, V> ceilingEntry(K key) { synchronized (mutex) { return nullableSynchronizedEntry(delegate().ceilingEntry(key), mutex); } }
@Override public Entry<K, V> ceilingEntry(K key) { return delegate().ceilingEntry(key); }
@Override public Entry<K, V> floorEntry(K key) { return forward().ceilingEntry(key); }
@CollectionSize.Require(SEVERAL) public void testCeiling() { resetWithHole(); assertEquals(a, navigableMap.ceilingEntry(a.getKey())); assertEquals(a.getKey(), navigableMap.ceilingKey(a.getKey())); assertEquals(c, navigableMap.ceilingEntry(b.getKey())); assertEquals(c.getKey(), navigableMap.ceilingKey(b.getKey())); assertEquals(c, navigableMap.ceilingEntry(c.getKey())); assertEquals(c.getKey(), navigableMap.ceilingKey(c.getKey())); }
@Override public Entry<K, V2> ceilingEntry(K key) { return transformEntry(fromMap().ceilingEntry(key)); }
@Override public Entry<K, V> ceilingEntry(K key) { assertTrue(Thread.holdsLock(mutex)); return delegate().ceilingEntry(key); }
@Override public boolean intersects(Range<C> range) { checkNotNull(range); Entry<Cut<C>, Range<C>> ceilingEntry = rangesByLowerBound.ceilingEntry(range.lowerBound); if (ceilingEntry != null && ceilingEntry.getValue().isConnected(range) && !ceilingEntry.getValue().intersection(range).isEmpty()) { return true; } Entry<Cut<C>, Range<C>> priorEntry = rangesByLowerBound.lowerEntry(range.lowerBound); return priorEntry != null && priorEntry.getValue().isConnected(range) && !priorEntry.getValue().intersection(range).isEmpty(); }
@Override public Entry<K, V2> ceilingEntry(K key) { return transformEntry(fromMap().ceilingEntry(key)); }
public void testCeilingEntry() { create().ceilingEntry("a"); }
@Override public boolean intersects(Range<C> range) { checkNotNull(range); Entry<Cut<C>, Range<C>> ceilingEntry = rangesByLowerBound.ceilingEntry(range.lowerBound); if (ceilingEntry != null && ceilingEntry.getValue().isConnected(range) && !ceilingEntry.getValue().intersection(range).isEmpty()) { return true; } Entry<Cut<C>, Range<C>> priorEntry = rangesByLowerBound.lowerEntry(range.lowerBound); return priorEntry != null && priorEntry.getValue().isConnected(range) && !priorEntry.getValue().intersection(range).isEmpty(); }
@CollectionSize.Require(ONE) public void testSingletonMapNearby() { assertNull(navigableMap.lowerEntry(k0())); assertNull(navigableMap.lowerKey(k0())); assertEquals(a, navigableMap.floorEntry(k0())); assertEquals(a.getKey(), navigableMap.floorKey(k0())); assertEquals(a, navigableMap.ceilingEntry(k0())); assertEquals(a.getKey(), navigableMap.ceilingKey(k0())); assertNull(navigableMap.higherEntry(k0())); assertNull(navigableMap.higherKey(k0())); }
<K, V> void testNavigationAgainstExpected( NavigableMap<K, V> expected, NavigableMap<K, V> navigableMap, Iterable<K> keysToTest) { for (K key : keysToTest) { assertEquals(expected.lowerEntry(key), navigableMap.lowerEntry(key)); assertEquals(expected.floorEntry(key), navigableMap.floorEntry(key)); assertEquals(expected.ceilingEntry(key), navigableMap.ceilingEntry(key)); assertEquals(expected.higherEntry(key), navigableMap.higherEntry(key)); for (boolean inclusive : new boolean[] {false, true}) { assertThat(navigableMap.headMap(key, inclusive).entrySet()) .containsExactlyElementsIn(expected.headMap(key, inclusive).entrySet()) .inOrder(); assertThat(navigableMap.tailMap(key, inclusive).entrySet()) .containsExactlyElementsIn(expected.tailMap(key, inclusive).entrySet()) .inOrder(); assertThat(navigableMap.headMap(key, inclusive).descendingMap().entrySet()) .containsExactlyElementsIn(expected.headMap(key, inclusive).descendingMap().entrySet()) .inOrder(); assertThat(navigableMap.tailMap(key, inclusive).descendingMap().entrySet()) .containsExactlyElementsIn(expected.tailMap(key, inclusive).descendingMap().entrySet()) .inOrder(); } } }
@CollectionSize.Require(ZERO) public void testEmptyMapNearby() { assertNull(navigableMap.lowerEntry(k0())); assertNull(navigableMap.lowerKey(k0())); assertNull(navigableMap.floorEntry(k0())); assertNull(navigableMap.floorKey(k0())); assertNull(navigableMap.ceilingEntry(k0())); assertNull(navigableMap.ceilingKey(k0())); assertNull(navigableMap.higherEntry(k0())); assertNull(navigableMap.higherKey(k0())); }