1 /* 2 * Copyright (C) 2012 The Guava Authors 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 17 package com.google.common.reflect; 18 19 import com.google.common.testing.EqualsTester; 20 import com.google.common.testing.NullPointerTester; 21 import java.lang.reflect.Method; 22 import junit.framework.TestCase; 23 24 /** 25 * Tests for {@link Parameter}. 26 * 27 * @author Ben Yu 28 */ 29 public class ParameterTest extends TestCase { 30 testNulls()31 public void testNulls() { 32 try { 33 Class.forName("java.lang.reflect.AnnotatedType"); 34 } catch (ClassNotFoundException runningInAndroidVm) { 35 /* 36 * Parameter declares a method that returns AnnotatedType, which isn't available on Android. 37 * This would cause NullPointerTester, which calls Class.getDeclaredMethods, to throw 38 * NoClassDefFoundError. 39 */ 40 return; 41 } 42 for (Method method : ParameterTest.class.getDeclaredMethods()) { 43 for (Parameter param : Invokable.from(method).getParameters()) { 44 new NullPointerTester().testAllPublicInstanceMethods(param); 45 } 46 } 47 } 48 testEquals()49 public void testEquals() { 50 EqualsTester tester = new EqualsTester(); 51 for (Method method : ParameterTest.class.getDeclaredMethods()) { 52 for (Parameter param : Invokable.from(method).getParameters()) { 53 tester.addEqualityGroup(param); 54 } 55 } 56 tester.testEquals(); 57 } 58 59 @SuppressWarnings("unused") someMethod(int i, int j)60 private void someMethod(int i, int j) {} 61 62 @SuppressWarnings("unused") anotherMethod(int i, String s)63 private void anotherMethod(int i, String s) {} 64 } 65