Author: markt Date: Thu Oct 31 10:44:59 2013 New Revision: 1537434 URL: http://svn.apache.org/r1537434 Log: Improve code coverage of proxy tests for ObjectPool
Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java?rev=1537434&r1=1537433&r2=1537434&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java Thu Oct 31 10:44:59 2013 @@ -99,6 +99,23 @@ public abstract class BaseTestProxiedObj } + @Test(expected=IllegalStateException.class) + public void testAccessAfterInvalidate() throws Exception { + TestObject obj = pool.borrowObject(); + assertNotNull(obj); + + // Make sure proxied methods are working + obj.setData(DATA1); + assertEquals(DATA1, obj.getData()); + + pool.invalidateObject(obj); + + assertNotNull(obj); + + obj.getData(); + } + + @Test public void testUsageTracking() throws Exception { TestObject obj = pool.borrowObject(); @@ -119,6 +136,30 @@ public abstract class BaseTestProxiedObj assertTrue(logOutput.contains("The last code to use this object was")); } + + @Test + public void testPassThroughMethods01() throws Exception { + assertEquals(0, pool.getNumActive()); + assertEquals(0, pool.getNumIdle()); + + pool.addObject(); + + assertEquals(0, pool.getNumActive()); + assertEquals(1, pool.getNumIdle()); + + pool.clear(); + + assertEquals(0, pool.getNumActive()); + assertEquals(0, pool.getNumIdle()); + } + + + @Test(expected=IllegalStateException.class) + public void testPassThroughMethods02() throws Exception { + pool.close(); + pool.addObject(); + } + private static class TestObjectFactory extends BasePooledObjectFactory<TestObject> {