1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */ 
17  package org.apache.commons.betwixt.registry;
18  
19  import junit.framework.Test;
20  import junit.framework.TestSuite;
21  import junit.textui.TestRunner;
22  
23  import org.apache.commons.betwixt.AbstractTestCase;
24  import org.apache.commons.betwixt.XMLBeanInfo;
25  
26  /** Test harness for the XMLBeanInfoRegistry
27    *
28    * @author <a href="mailto:rdonkin@apache.org">Robert Burrell Donkin</a>
29    * @version $Revision: 438373 $
30    */
31  public class TestXMLBeanInfoRegistry extends AbstractTestCase {
32      
33      public static void main( String[] args ) {
34          TestRunner.run( suite() );
35      }
36      
37      public static Test suite() {
38          return new TestSuite(TestXMLBeanInfoRegistry.class);
39      }
40          
41      public TestXMLBeanInfoRegistry(String testName) {
42          super(testName);
43      }
44      
45      public void testNoCache() throws Exception {
46          XMLBeanInfoRegistry registry = new NoCacheRegistry();
47          
48          XMLBeanInfo xbi = new XMLBeanInfo(Long.class);
49          
50          assertNull("No cache XML register (1)", registry.get(Long.class));
51          
52          registry.put(Long.class, xbi);
53          
54          assertNull("No cache XML register (2)", registry.get(Long.class));
55      }
56      
57      public void testDefault() throws Exception {
58          
59          XMLBeanInfoRegistry registry = new DefaultXMLBeanInfoRegistry();
60          
61          XMLBeanInfo xbi = new XMLBeanInfo(Long.class);
62          
63          assertNull("Default XML register (1)", registry.get(Long.class));
64          
65          registry.put(Long.class, xbi);
66          
67          assertEquals("Default XML register (2)", xbi, registry.get(Long.class));
68      }   
69  }
70