@Override public void run() { putTestEntities(2); box.removeAll(); putTestEntity("hello", 3); counts[0] = box.count(); } });
@Test public void testGetAllAfterGetAndRemove() { assertEquals(0, box.count()); assertEquals(0, box.getAll().size()); System.out.println("PUT"); List<TestEntity> entities = putTestEntities(10); // explicitly get an entity (any will do) System.out.println("GET"); TestEntity entity = box.get(entities.get(1).getId()); assertNotNull(entity); System.out.println("REMOVE_ALL"); box.removeAll(); System.out.println("COUNT"); assertEquals(0, box.count()); System.out.println("GET_ALL"); List<TestEntity> all = box.getAll(); // note only 1 entity is returned by getAll, it is the one we explicitly get (last) above assertEquals(0, all.size()); }
@Test public void testRemoveMany() { List<TestEntity> entities = new ArrayList<>(); for (int i = 0; i < 10; i++) { TestEntity entity = new TestEntity(); entity.setSimpleInt(2000 + i); entities.add(entity); } box.put(entities); assertEquals(entities.size(), box.count()); box.remove(entities.get(1)); assertEquals(entities.size() - 1, box.count()); box.remove(entities.get(4), entities.get(5)); assertEquals(entities.size() - 3, box.count()); List<TestEntity> entitiesRemove = new ArrayList<>(); entitiesRemove.add(entities.get(2)); entitiesRemove.add(entities.get(8)); entitiesRemove.add(entities.get(7)); box.remove(entitiesRemove); assertEquals(entities.size() - 6, box.count()); List<TestEntity> entitiesRead = box.getAll(); assertEquals(entities.size() - 6, entitiesRead.size()); assertEquals(2000, entitiesRead.get(0).getSimpleInt()); assertEquals(2003, entitiesRead.get(1).getSimpleInt()); assertEquals(2006, entitiesRead.get(2).getSimpleInt()); assertEquals(2009, entitiesRead.get(3).getSimpleInt()); box.removeAll(); assertEquals(0, box.count()); }
@Test public void testCountMaxAndIsEmpty() { assertTrue(box.isEmpty()); putTestEntity("banana", 0); assertFalse(box.isEmpty()); assertEquals(1, box.count(1)); assertEquals(1, box.count(2)); putTestEntity("apple", 0); assertEquals(2, box.count(2)); assertEquals(2, box.count(3)); box.removeAll(); assertTrue(box.isEmpty()); }
@Override public void evictAll() { cacheEntityBox.removeAll(); } }