@Test public void testRemove() throws Exception { final long key1 = randomKey(); final long key2 = randomKey(); hsa.ensure(key1, key2); assertTrue(hsa.remove(key1, key2)); assertFalse(hsa.remove(key1, key2)); }
@Test public void testPutRemoveGetMany() { final long factor = 123456; final int k = 5000; final int mod = 100; for (int i = 1; i <= k; i++) { long key1 = (long) i; long key2 = key1 * factor; assertTrue(hsa.ensure(key1, key2) > 0); } for (int i = mod; i <= k; i += mod) { long key1 = (long) i; long key2 = key1 * factor; assertTrue(hsa.remove(key1, key2)); } for (int i = 1; i <= k; i++) { long key1 = (long) i; long key2 = key1 * factor; long valueAddress = hsa.get(key1, key2); if (i % mod == 0) { assertEquals(NULL_ADDRESS, valueAddress); } else { assertNotEquals(NULL_ADDRESS, valueAddress); } } }
@Test public void testSize() throws Exception { final long key1 = randomKey(); final long key2 = randomKey(); hsa.ensure(key1, key2); assertEquals(1, hsa.size()); assertTrue(hsa.remove(key1, key2)); assertEquals(0, hsa.size()); }
@Test(expected = AssertionError.class) @RequireAssertEnabled public void testRemove_whenDisposed() throws Exception { hsa.dispose(); hsa.remove(1, 1); }