implementations.
| Method from org.apache.commons.pool.TestObjectPool Detail: |
abstract protected Object getNthObject(int n)
Return what we expect to be the nth
object (zero indexed) created by the _pool. |
abstract protected ObjectPool makeEmptyPool(int mincapacity)
|
public void setUp() throws Exception {
}
|
public void tearDown() throws Exception {
_pool = null;
}
|
public void testBaseAddObject() throws Exception {
try {
_pool = makeEmptyPool(3);
} catch(IllegalArgumentException e) {
return; // skip this test if unsupported
}
try {
assertEquals(0,_pool.getNumIdle());
assertEquals(0,_pool.getNumActive());
_pool.addObject();
assertEquals(1,_pool.getNumIdle());
assertEquals(0,_pool.getNumActive());
Object obj = _pool.borrowObject();
assertEquals(getNthObject(0),obj);
assertEquals(0,_pool.getNumIdle());
assertEquals(1,_pool.getNumActive());
_pool.returnObject(obj);
assertEquals(1,_pool.getNumIdle());
assertEquals(0,_pool.getNumActive());
} catch(UnsupportedOperationException e) {
return; // skip this test if one of those calls is unsupported
}
}
|
public void testBaseBorrow() throws Exception {
try {
_pool = makeEmptyPool(3);
} catch(IllegalArgumentException e) {
return; // skip this test if unsupported
}
assertEquals(getNthObject(0),_pool.borrowObject());
assertEquals(getNthObject(1),_pool.borrowObject());
assertEquals(getNthObject(2),_pool.borrowObject());
}
|
public void testBaseBorrowReturn() throws Exception {
try {
_pool = makeEmptyPool(3);
} catch(IllegalArgumentException e) {
return; // skip this test if unsupported
}
Object obj0 = _pool.borrowObject();
assertEquals(getNthObject(0),obj0);
Object obj1 = _pool.borrowObject();
assertEquals(getNthObject(1),obj1);
Object obj2 = _pool.borrowObject();
assertEquals(getNthObject(2),obj2);
_pool.returnObject(obj2);
obj2 = _pool.borrowObject();
assertEquals(getNthObject(2),obj2);
_pool.returnObject(obj1);
obj1 = _pool.borrowObject();
assertEquals(getNthObject(1),obj1);
_pool.returnObject(obj0);
_pool.returnObject(obj2);
obj2 = _pool.borrowObject();
assertEquals(getNthObject(2),obj2);
obj0 = _pool.borrowObject();
assertEquals(getNthObject(0),obj0);
}
|
public void testBaseCantCloseTwice() throws Exception {
try {
_pool = makeEmptyPool(3);
} catch(IllegalArgumentException e) {
return; // skip this test if unsupported
}
Object obj = _pool.borrowObject();
_pool.returnObject(obj);
_pool.close();
try {
_pool.close();
fail("Expected IllegalStateException");
} catch(IllegalStateException e) {
// expected
}
}
|
public void testBaseClear() throws Exception {
try {
_pool = makeEmptyPool(3);
} catch(IllegalArgumentException e) {
return; // skip this test if unsupported
}
assertEquals(0,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
Object obj0 = _pool.borrowObject();
Object obj1 = _pool.borrowObject();
assertEquals(2,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
_pool.returnObject(obj1);
_pool.returnObject(obj0);
assertEquals(0,_pool.getNumActive());
assertEquals(2,_pool.getNumIdle());
_pool.clear();
assertEquals(0,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
Object obj2 = _pool.borrowObject();
assertEquals(getNthObject(2),obj2);
}
|
public void testBaseClosePool() throws Exception {
try {
_pool = makeEmptyPool(3);
} catch(IllegalArgumentException e) {
return; // skip this test if unsupported
}
Object obj = _pool.borrowObject();
_pool.returnObject(obj);
_pool.close();
try {
_pool.borrowObject();
fail("Expected IllegalStateException");
} catch(IllegalStateException e) {
// expected
}
}
|
public void testBaseInvalidateObject() throws Exception {
try {
_pool = makeEmptyPool(3);
} catch(IllegalArgumentException e) {
return; // skip this test if unsupported
}
assertEquals(0,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
Object obj0 = _pool.borrowObject();
Object obj1 = _pool.borrowObject();
assertEquals(2,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
_pool.invalidateObject(obj0);
assertEquals(1,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
_pool.invalidateObject(obj1);
assertEquals(0,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
}
|
public void testBaseNumActiveNumIdle() throws Exception {
try {
_pool = makeEmptyPool(3);
} catch(IllegalArgumentException e) {
return; // skip this test if unsupported
}
assertEquals(0,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
Object obj0 = _pool.borrowObject();
assertEquals(1,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
Object obj1 = _pool.borrowObject();
assertEquals(2,_pool.getNumActive());
assertEquals(0,_pool.getNumIdle());
_pool.returnObject(obj1);
assertEquals(1,_pool.getNumActive());
assertEquals(1,_pool.getNumIdle());
_pool.returnObject(obj0);
assertEquals(0,_pool.getNumActive());
assertEquals(2,_pool.getNumIdle());
}
|