1   /*
2    * Copyright 1999-2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.commons.pool;
17  
18  import junit.framework.Test;
19  import junit.framework.TestCase;
20  import junit.framework.TestSuite;
21  
22  /***
23   * @author Rodney Waldhoff
24   * @version $Revision: 155430 $ $Date: 2005-02-26 08:13:28 -0500 (Sat, 26 Feb 2005) $
25   */
26  public class TestBaseKeyedObjectPool extends TestCase {
27      public TestBaseKeyedObjectPool(String testName) {
28          super(testName);
29      }
30  
31      public static Test suite() {
32          return new TestSuite(TestBaseKeyedObjectPool.class);
33      }
34      
35      // tests
36      public void testUnsupportedOperations() throws Exception {
37          KeyedObjectPool pool = new BaseKeyedObjectPool() { 
38              public Object borrowObject(Object key) throws Exception {
39                  return null;
40              }
41              public void returnObject(Object key, Object obj) throws Exception {                
42              }
43              public void invalidateObject(Object key, Object obj) throws Exception {                
44              }            
45          };   
46          
47          try {
48              pool.addObject("key");
49              fail("Expected UnsupportedOperationException");
50          } catch(UnsupportedOperationException e) {
51              // expected
52          }
53  
54          try {
55              pool.getNumIdle();
56              fail("Expected UnsupportedOperationException");
57          } catch(UnsupportedOperationException e) {
58              // expected
59          }
60  
61          try {
62              pool.getNumActive();
63              fail("Expected UnsupportedOperationException");
64          } catch(UnsupportedOperationException e) {
65              // expected
66          }
67  
68          try {
69              pool.clear();
70              fail("Expected UnsupportedOperationException");
71          } catch(UnsupportedOperationException e) {
72              // expected
73          }
74  
75          try {
76              pool.getNumIdle("key");
77              fail("Expected UnsupportedOperationException");
78          } catch(UnsupportedOperationException e) {
79              // expected
80          }
81  
82          try {
83              pool.getNumActive("key");
84              fail("Expected UnsupportedOperationException");
85          } catch(UnsupportedOperationException e) {
86              // expected
87          }
88  
89          try {
90              pool.clear("key");
91              fail("Expected UnsupportedOperationException");
92          } catch(UnsupportedOperationException e) {
93              // expected
94          }
95  
96          try {
97              pool.setFactory(null);
98              fail("Expected UnsupportedOperationException");
99          } catch(UnsupportedOperationException e) {
100             // expected
101         }
102 
103         pool.close(); // a no-op, probably should be remove
104 
105     }
106 }