Added ObjectCache class and fixed som hashmap iterator issues
This commit is contained in:
parent
6dd2210be1
commit
2fcc8e98c5
6 changed files with 252 additions and 19 deletions
|
|
@ -26,6 +26,8 @@ package zutil.struct;
|
|||
|
||||
import org.junit.Test;
|
||||
|
||||
import static junit.framework.TestCase.assertTrue;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
|
||||
|
||||
|
|
@ -34,6 +36,7 @@ import static org.junit.Assert.assertFalse;
|
|||
*/
|
||||
public class TimedHashSetTest {
|
||||
public static final String ENTRY = "key";
|
||||
public static final String ENTRY2 = "key2";
|
||||
|
||||
@Test
|
||||
public void zeroTTL() throws InterruptedException {
|
||||
|
|
@ -48,7 +51,7 @@ public class TimedHashSetTest {
|
|||
TimedHashSet set = new TimedHashSet(10);
|
||||
set.add(ENTRY);
|
||||
Thread.sleep(1);
|
||||
assert(set.contains(ENTRY));
|
||||
assertTrue(set.contains(ENTRY));
|
||||
Thread.sleep(10);
|
||||
assertFalse(set.contains(ENTRY));
|
||||
}
|
||||
|
|
@ -58,6 +61,18 @@ public class TimedHashSetTest {
|
|||
TimedHashSet set = new TimedHashSet(1000);
|
||||
set.add(ENTRY);
|
||||
Thread.sleep(1);
|
||||
assert(set.contains(ENTRY));
|
||||
assertTrue(set.contains(ENTRY));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void grc() throws InterruptedException {
|
||||
TimedHashSet set = new TimedHashSet(10);
|
||||
set.add(ENTRY);
|
||||
set.add(ENTRY2);
|
||||
assertEquals(2, set.size());
|
||||
Thread.sleep(12);
|
||||
assertEquals(2, set.size());
|
||||
assertEquals(2, set.garbageCollect());
|
||||
assertEquals(0, set.size());
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue