You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sa...@apache.org on 2006/04/01 05:10:23 UTC
svn commit: r390581 - in
/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl:
TestGenericObjectPoolFactory.java TestStackObjectPoolFactory.java
Author: sandymac
Date: Fri Mar 31 19:10:23 2006
New Revision: 390581
URL: http://svn.apache.org/viewcvs?rev=390581&view=rev
Log:
Created more unit tests for ObjectPoolFactory and implementations.
Modified:
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPoolFactory.java
Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java?rev=390581&r1=390580&r2=390581&view=diff
==============================================================================
--- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java (original)
+++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java Fri Mar 31 19:10:23 2006
@@ -19,9 +19,12 @@
import org.apache.commons.pool.TestObjectPoolFactory;
import org.apache.commons.pool.ObjectPoolFactory;
import org.apache.commons.pool.PoolableObjectFactory;
+import org.apache.commons.pool.MethodCallPoolableObjectFactory;
import junit.framework.Test;
import junit.framework.TestSuite;
+import java.util.NoSuchElementException;
+
/**
* Tests for {@link GenericObjectPoolFactory}.
*
@@ -39,5 +42,150 @@
protected ObjectPoolFactory makeFactory(final PoolableObjectFactory objectFactory) throws UnsupportedOperationException {
return new GenericObjectPoolFactory(objectFactory);
+ }
+
+ public void testConstructors() throws Exception {
+ GenericObjectPoolFactory factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory());
+ GenericObjectPool pool;
+ factory.createPool().close();
+
+ final GenericObjectPool.Config config = new GenericObjectPool.Config();
+ config.maxActive = 1;
+ config.maxIdle = 2;
+ config.maxWait = 3;
+ config.minIdle = 4;
+ config.minEvictableIdleTimeMillis = 5;
+ config.numTestsPerEvictionRun = 6;
+ config.softMinEvictableIdleTimeMillis = 7;
+ config.testOnBorrow = true;
+ config.testOnReturn = false;
+ config.testWhileIdle = true;
+ config.timeBetweenEvictionRunsMillis = 8;
+ config.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_GROW;
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), config);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ assertEquals(2, pool.getMaxIdle());
+ assertEquals(3, pool.getMaxWait());
+ assertEquals(4, pool.getMinIdle());
+ assertEquals(5, pool.getMinEvictableIdleTimeMillis());
+ assertEquals(6, pool.getNumTestsPerEvictionRun());
+ assertEquals(7, pool.getSoftMinEvictableIdleTimeMillis());
+ assertEquals(true, pool.getTestOnBorrow());
+ assertEquals(false, pool.getTestOnReturn());
+ assertEquals(true, pool.getTestWhileIdle());
+ assertEquals(8, pool.getTimeBetweenEvictionRunsMillis());
+ assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, pool.getWhenExhaustedAction());
+ pool.borrowObject();
+ pool.close();
+
+
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ pool.borrowObject();
+ pool.close();
+
+
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_BLOCK, 125);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ assertEquals(GenericObjectPool.WHEN_EXHAUSTED_BLOCK, pool.getWhenExhaustedAction());
+ assertEquals(125, pool.getMaxWait());
+ pool.borrowObject();
+ long startTime = System.currentTimeMillis();
+ try {
+ pool.borrowObject();
+ fail();
+ } catch (NoSuchElementException nsee) {
+ // expected
+ }
+ long delay = System.currentTimeMillis() - startTime;
+ assertTrue("delay: " + delay, delay > 100);
+ pool.close();
+
+
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_GROW, 2, true, false);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ assertEquals(2, pool.getMaxWait());
+ assertEquals(true, pool.getTestOnBorrow());
+ assertEquals(false, pool.getTestOnReturn());
+ assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, pool.getWhenExhaustedAction());
+ pool.borrowObject();
+ pool.close();
+
+
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_GROW, 2, 3);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ assertEquals(2, pool.getMaxWait());
+ assertEquals(3, pool.getMaxIdle());
+ assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, pool.getWhenExhaustedAction());
+ pool.borrowObject();
+ pool.close();
+
+
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_GROW, 2, 3, true, false);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ assertEquals(2, pool.getMaxWait());
+ assertEquals(3, pool.getMaxIdle());
+ assertEquals(true, pool.getTestOnBorrow());
+ assertEquals(false, pool.getTestOnReturn());
+ assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, pool.getWhenExhaustedAction());
+ pool.borrowObject();
+ pool.close();
+
+
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_GROW, 2, 3, true, false, 4, 5, 6, false);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ assertEquals(2, pool.getMaxWait());
+ assertEquals(3, pool.getMaxIdle());
+ assertEquals(4, pool.getTimeBetweenEvictionRunsMillis());
+ assertEquals(5, pool.getNumTestsPerEvictionRun());
+ assertEquals(6, pool.getMinEvictableIdleTimeMillis());
+ assertEquals(true, pool.getTestOnBorrow());
+ assertEquals(false, pool.getTestOnReturn());
+ assertEquals(false, pool.getTestWhileIdle());
+ assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, pool.getWhenExhaustedAction());
+ pool.borrowObject();
+ pool.close();
+
+
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_GROW, 2, 3, 4, true, false, 5, 6, 7, true);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ assertEquals(2, pool.getMaxWait());
+ assertEquals(3, pool.getMaxIdle());
+ assertEquals(4, pool.getMinIdle());
+ assertEquals(5, pool.getTimeBetweenEvictionRunsMillis());
+ assertEquals(6, pool.getNumTestsPerEvictionRun());
+ assertEquals(7, pool.getMinEvictableIdleTimeMillis());
+ assertEquals(true, pool.getTestOnBorrow());
+ assertEquals(false, pool.getTestOnReturn());
+ assertEquals(true, pool.getTestWhileIdle());
+ assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, pool.getWhenExhaustedAction());
+ pool.borrowObject();
+ pool.close();
+
+
+ factory = new GenericObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_GROW, 2, 3, 4, true, false, 5, 6, 7, true, 8);
+ pool = (GenericObjectPool)factory.createPool();
+ assertEquals(1, pool.getMaxActive());
+ assertEquals(2, pool.getMaxWait());
+ assertEquals(3, pool.getMaxIdle());
+ assertEquals(4, pool.getMinIdle());
+ assertEquals(5, pool.getTimeBetweenEvictionRunsMillis());
+ assertEquals(6, pool.getNumTestsPerEvictionRun());
+ assertEquals(7, pool.getMinEvictableIdleTimeMillis());
+ assertEquals(8, pool.getSoftMinEvictableIdleTimeMillis());
+ assertEquals(true, pool.getTestOnBorrow());
+ assertEquals(false, pool.getTestOnReturn());
+ assertEquals(true, pool.getTestWhileIdle());
+ assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, pool.getWhenExhaustedAction());
+ pool.borrowObject();
+ pool.close();
}
}
Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPoolFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPoolFactory.java?rev=390581&r1=390580&r2=390581&view=diff
==============================================================================
--- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPoolFactory.java (original)
+++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPoolFactory.java Fri Mar 31 19:10:23 2006
@@ -19,9 +19,12 @@
import org.apache.commons.pool.TestObjectPoolFactory;
import org.apache.commons.pool.ObjectPoolFactory;
import org.apache.commons.pool.PoolableObjectFactory;
+import org.apache.commons.pool.MethodCallPoolableObjectFactory;
import junit.framework.Test;
import junit.framework.TestSuite;
+import java.util.NoSuchElementException;
+
/**
* Tests for {@link StackObjectPoolFactory}.
*
@@ -39,5 +42,30 @@
protected ObjectPoolFactory makeFactory(final PoolableObjectFactory objectFactory) throws UnsupportedOperationException {
return new StackObjectPoolFactory(objectFactory);
+ }
+
+ public void testConstructors() throws Exception {
+ StackObjectPoolFactory factory = new StackObjectPoolFactory();
+ factory.createPool().close();
+
+
+ factory = new StackObjectPoolFactory(1);
+ StackObjectPool pool = (StackObjectPool)factory.createPool();
+ pool.close();
+
+
+ factory = new StackObjectPoolFactory(1, 1);
+ pool = (StackObjectPool)factory.createPool();
+ pool.close();
+
+
+ factory = new StackObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1);
+ pool = (StackObjectPool)factory.createPool();
+ Object a = pool.borrowObject();
+ Object b = pool.borrowObject();
+ pool.returnObject(a);
+ pool.returnObject(b);
+ assertEquals(1, pool.getNumIdle());
+ pool.close();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org