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  
18  package org.apache.commons.proxy.invoker;
19  import junit.framework.TestCase;
20  import org.apache.commons.proxy.ProxyUtils;
21  import org.apache.commons.proxy.factory.cglib.CglibProxyFactory;
22  
23  public class TestNullInvoker extends TestCase
24  {
25      public void testReturnValues()
26      {
27          final Tester tester = ( Tester )ProxyUtils.createNullObject( new CglibProxyFactory(), new Class[] { Tester.class } );
28          assertEquals( 0, tester.intMethod() );
29          assertEquals( 0L, tester.longMethod() );
30          assertEquals( ( short )0, tester.shortMethod() );
31          assertEquals( ( byte )0, tester.byteMethod() );
32          assertEquals( ( char )0, tester.charMethod() );
33          assertEquals( 0.0f, tester.floatMethod(), 0.0f );
34          assertEquals( 0.0, tester.doubleMethod(), 0.0f );
35          assertFalse( tester.booleanMethod() );
36          assertNull( tester.stringMethod() );
37      }
38  
39      public static interface Tester
40      {
41          public int intMethod();
42          public long longMethod();
43          public short shortMethod();
44          public byte byteMethod();
45          public char charMethod();
46          public double doubleMethod();
47          public float floatMethod();
48          public String stringMethod();
49          public boolean booleanMethod();
50      }
51  }