1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.pool.impl;
19
20 import org.apache.commons.pool.MethodCallPoolableObjectFactory;
21 import org.apache.commons.pool.ObjectPoolFactory;
22 import org.apache.commons.pool.PoolableObjectFactory;
23 import org.apache.commons.pool.TestObjectPoolFactory;
24
25
26
27
28
29
30
31 public class TestStackObjectPoolFactory extends TestObjectPoolFactory {
32 public TestStackObjectPoolFactory(final String name) {
33 super(name);
34 }
35
36 protected ObjectPoolFactory makeFactory(final PoolableObjectFactory objectFactory) throws UnsupportedOperationException {
37 return new StackObjectPoolFactory(objectFactory);
38 }
39
40 public void testConstructors() throws Exception {
41 StackObjectPoolFactory factory = new StackObjectPoolFactory();
42 factory.createPool().close();
43
44
45 factory = new StackObjectPoolFactory(1);
46 StackObjectPool pool = (StackObjectPool)factory.createPool();
47 pool.close();
48
49
50 factory = new StackObjectPoolFactory(1, 1);
51 pool = (StackObjectPool)factory.createPool();
52 pool.close();
53
54
55 factory = new StackObjectPoolFactory(new MethodCallPoolableObjectFactory(), 1);
56 pool = (StackObjectPool)factory.createPool();
57 Object a = pool.borrowObject();
58 Object b = pool.borrowObject();
59 pool.returnObject(a);
60 pool.returnObject(b);
61 assertEquals(1, pool.getNumIdle());
62 pool.close();
63 }
64 }