@Test
	public void testAsEntrySetSubCeiling() {
		populateStore(-3, -1, 1, 3);

		assertEquals(-1,
			entrySet.subSet(ent(-2), true, ent(2), true).ceiling(ent(-1)).getKey().longValue());
		assertEquals(-1,
			entrySet.subSet(ent(-1), true, ent(2), true).ceiling(ent(-1)).getKey().longValue());
		assertEquals(1,
			entrySet.subSet(ent(-1), false, ent(2), true).ceiling(ent(-1)).getKey().longValue());
		assertNull(entrySet.subSet(ent(1), false, ent(2), true).ceiling(ent(-1)));

		assertEquals(1,
			rEntrySet.subSet(ent(2), true, ent(-2), true).ceiling(ent(1)).getKey().longValue());
		assertEquals(1,
			rEntrySet.subSet(ent(1), true, ent(-2), true).ceiling(ent(1)).getKey().longValue());
		assertEquals(-1,
			rEntrySet.subSet(ent(1), false, ent(-2), true).ceiling(ent(1)).getKey().longValue());
		assertNull(rEntrySet.subSet(ent(-1), false, ent(-2), true).ceiling(ent(1)));
	}
This exists to verify behavior in {@link #testAsValuesSubIterator()}
Ghidra/Debug/ProposedUtils/src/test/java/ghidra/util/database/DBCachedObjectStoreTest.java