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 TestBaseObjectPool extends TestCase {
27      public TestBaseObjectPool(String testName) {
28          super(testName);
29      }
30  
31      public static Test suite() {
32          return new TestSuite(TestBaseObjectPool.class);
33      }
34      
35      // tests
36      public void testUnsupportedOperations() throws Exception {
37          ObjectPool pool = new BaseObjectPool() { 
38              public Object borrowObject() throws Exception {
39                  return null;
40              }
41              public void returnObject(Object obj) throws Exception {                
42              }
43              public void invalidateObject(Object obj) throws Exception {                
44              }            
45          };   
46          
47          try {
48              pool.getNumIdle();
49              fail("Expected UnsupportedOperationException");
50          } catch(UnsupportedOperationException e) {
51              // expected
52          }
53  
54          try {
55              pool.getNumActive();
56              fail("Expected UnsupportedOperationException");
57          } catch(UnsupportedOperationException e) {
58              // expected
59          }
60  
61          try {
62              pool.clear();
63              fail("Expected UnsupportedOperationException");
64          } catch(UnsupportedOperationException e) {
65              // expected
66          }
67  
68          try {
69              pool.addObject();
70              fail("Expected UnsupportedOperationException");
71          } catch(UnsupportedOperationException e) {
72              // expected
73          }
74  
75          try {
76              pool.setFactory(null);
77              fail("Expected UnsupportedOperationException");
78          } catch(UnsupportedOperationException e) {
79              // expected
80          }
81      }
82  }