/** * Tests the logic that invalid resource won't be acquired. */ @Test public void UnhealthyResource() throws Exception { TestPool pool = new TestPool(DynamicResourcePool.Options.defaultOptions()); Resource resource = pool.acquire(); Assert.assertEquals(0, resource.mInteger.intValue()); resource.setInteger(Resource.INVALID_RESOURCE); pool.release(resource); resource = pool.acquire(); // The 0-th resource is not acquired because it is unhealthy. Assert.assertEquals(1, resource.mInteger.intValue()); }
@Override protected Resource createNewResource() { return new Resource(mCounter++); }
@Override protected void closeResource(Resource resource) { resource.setInteger(Resource.INVALID_RESOURCE); }