You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Benedikt Ritter <br...@apache.org> on 2015/02/23 11:35:08 UTC
Re: svn commit: r1661559 - /commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
Hello Phil,
2015-02-22 21:43 GMT+01:00 <ps...@apache.org>:
> Author: psteitz
> Date: Sun Feb 22 20:43:30 2015
> New Revision: 1661559
>
> URL: http://svn.apache.org/r1661559
> Log:
> Added (disabled) tests for JIRA: DBCP-283 and DBCP-284.
>
> Modified:
>
> commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
>
> Modified:
> commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java?rev=1661559&r1=1661558&r2=1661559&view=diff
>
> ==============================================================================
> ---
> commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
> (original)
> +++
> commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
> Sun Feb 22 20:43:30 2015
> @@ -26,6 +26,7 @@ import static org.junit.Assert.fail;
>
> import java.lang.management.ManagementFactory;
> import java.util.ArrayList;
> +import java.util.HashSet;
> import java.util.List;
> import java.util.NoSuchElementException;
> import java.util.Random;
> @@ -2398,6 +2399,44 @@ public class TestGenericObjectPool exten
>
> Assert.assertEquals(1, factory.validateCounter);
> }
> +
> + /**
> + * Verifies that when a factory's makeObject produces instances that
> are not
> + * discernible by equals, the pool can handle them.
> + *
> + * JIRA: POOL-283
> + */
> + //@Test
>
IMHO it's better to use the @Ignore annotation, because this way ignored
tests will at least show up in reports generated by maven. You can even add
a description why a test is ignored like this:
@Ignore("See POOL-283 in JIRA")
> + public void testEqualsIndiscernible() throws Exception {
> + final HashSetFactory factory = new HashSetFactory();
> + final GenericObjectPool<HashSet<String>> pool = new
> GenericObjectPool<HashSet<String>>(
> + factory, new GenericObjectPoolConfig());
> + final HashSet<String> s1 = pool.borrowObject();
> + final HashSet<String> s2 = pool.borrowObject();
> + pool.returnObject(s1);
> + pool.returnObject(s2);
> + pool.close();
> + }
> +
> + /**
> + * Verifies that when a borrowed object is mutated in a way that does
> not
> + * preserve equality and hashcode, the pool can recognized it on
> return.
> + *
> + * JIRA: POOL-284
> + */
> + //@Test
> + public void testMutable() throws Exception {
> + final HashSetFactory factory = new HashSetFactory();
> + final GenericObjectPool<HashSet<String>> pool = new
> GenericObjectPool<HashSet<String>>(
> + factory, new GenericObjectPoolConfig());
> + final HashSet<String> s1 = pool.borrowObject();
> + final HashSet<String> s2 = pool.borrowObject();
> + s1.add("One");
> + s2.add("One");
> + pool.returnObject(s1);
> + pool.returnObject(s2);
> + pool.close();
> + }
>
> private static final class DummyFactory
> extends BasePooledObjectFactory<Object> {
> @@ -2410,7 +2449,23 @@ public class TestGenericObjectPool exten
> return new DefaultPooledObject<Object>(value);
> }
> }
> -
> +
> + /**
> + * Factory that creates HashSets. Note that this means
> + * 0) All instances are initially equal (not discernible by equals)
> + * 1) Instances are mutable and mutation can cause change in
> identity / hashcode.
> + */
> + private static final class HashSetFactory
> + extends BasePooledObjectFactory<HashSet<String>> {
> + @Override
> + public HashSet<String> create() throws Exception {
> + return new HashSet<String>();
> + }
> + @Override
> + public PooledObject<HashSet<String>> wrap(HashSet<String> value) {
> + return new DefaultPooledObject<HashSet<String>>(value);
> + }
> + }
>
> private static class InvalidFactory
> extends BasePooledObjectFactory<Object> {
>
>
>
--
http://people.apache.org/~britter/
http://www.systemoutprintln.de/
http://twitter.com/BenediktRitter
http://github.com/britter
Re: svn commit: r1661559 - /commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
Posted by sebb <se...@gmail.com>.
On 23 February 2015 at 10:35, Benedikt Ritter <br...@apache.org> wrote:
> Hello Phil,
>
> 2015-02-22 21:43 GMT+01:00 <ps...@apache.org>:
>
>> Author: psteitz
>> Date: Sun Feb 22 20:43:30 2015
>> New Revision: 1661559
>>
>> URL: http://svn.apache.org/r1661559
>> Log:
>> Added (disabled) tests for JIRA: DBCP-283 and DBCP-284.
>>
>> Modified:
>>
>> commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
>>
>> Modified:
>> commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java?rev=1661559&r1=1661558&r2=1661559&view=diff
>>
>> ==============================================================================
>> ---
>> commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
>> (original)
>> +++
>> commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
>> Sun Feb 22 20:43:30 2015
>> @@ -26,6 +26,7 @@ import static org.junit.Assert.fail;
>>
>> import java.lang.management.ManagementFactory;
>> import java.util.ArrayList;
>> +import java.util.HashSet;
>> import java.util.List;
>> import java.util.NoSuchElementException;
>> import java.util.Random;
>> @@ -2398,6 +2399,44 @@ public class TestGenericObjectPool exten
>>
>> Assert.assertEquals(1, factory.validateCounter);
>> }
>> +
>> + /**
>> + * Verifies that when a factory's makeObject produces instances that
>> are not
>> + * discernible by equals, the pool can handle them.
>> + *
>> + * JIRA: POOL-283
>> + */
>> + //@Test
>>
>
> IMHO it's better to use the @Ignore annotation, because this way ignored
> tests will at least show up in reports generated by maven. You can even add
> a description why a test is ignored like this:
>
> @Ignore("See POOL-283 in JIRA")
>
+1
>> + public void testEqualsIndiscernible() throws Exception {
>> + final HashSetFactory factory = new HashSetFactory();
>> + final GenericObjectPool<HashSet<String>> pool = new
>> GenericObjectPool<HashSet<String>>(
>> + factory, new GenericObjectPoolConfig());
>> + final HashSet<String> s1 = pool.borrowObject();
>> + final HashSet<String> s2 = pool.borrowObject();
>> + pool.returnObject(s1);
>> + pool.returnObject(s2);
>> + pool.close();
>> + }
>> +
>> + /**
>> + * Verifies that when a borrowed object is mutated in a way that does
>> not
>> + * preserve equality and hashcode, the pool can recognized it on
>> return.
>> + *
>> + * JIRA: POOL-284
>> + */
>> + //@Test
>> + public void testMutable() throws Exception {
>> + final HashSetFactory factory = new HashSetFactory();
>> + final GenericObjectPool<HashSet<String>> pool = new
>> GenericObjectPool<HashSet<String>>(
>> + factory, new GenericObjectPoolConfig());
>> + final HashSet<String> s1 = pool.borrowObject();
>> + final HashSet<String> s2 = pool.borrowObject();
>> + s1.add("One");
>> + s2.add("One");
>> + pool.returnObject(s1);
>> + pool.returnObject(s2);
>> + pool.close();
>> + }
>>
>> private static final class DummyFactory
>> extends BasePooledObjectFactory<Object> {
>> @@ -2410,7 +2449,23 @@ public class TestGenericObjectPool exten
>> return new DefaultPooledObject<Object>(value);
>> }
>> }
>> -
>> +
>> + /**
>> + * Factory that creates HashSets. Note that this means
>> + * 0) All instances are initially equal (not discernible by equals)
>> + * 1) Instances are mutable and mutation can cause change in
>> identity / hashcode.
>> + */
>> + private static final class HashSetFactory
>> + extends BasePooledObjectFactory<HashSet<String>> {
>> + @Override
>> + public HashSet<String> create() throws Exception {
>> + return new HashSet<String>();
>> + }
>> + @Override
>> + public PooledObject<HashSet<String>> wrap(HashSet<String> value) {
>> + return new DefaultPooledObject<HashSet<String>>(value);
>> + }
>> + }
>>
>> private static class InvalidFactory
>> extends BasePooledObjectFactory<Object> {
>>
>>
>>
>
>
> --
> http://people.apache.org/~britter/
> http://www.systemoutprintln.de/
> http://twitter.com/BenediktRitter
> http://github.com/britter
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org