Additional tests for MethodUtils from Nathan Beyer - LANG-712

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1142380 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Henri Yandell 2011-07-03 06:59:59 +00:00
parent e3cb1c6c0a
commit f5cb67acd9
1 changed files with 27 additions and 0 deletions

View File

@ -33,6 +33,15 @@ import org.apache.commons.lang3.mutable.MutableObject;
* @version $Id$
*/
public class MethodUtilsTest extends TestCase {
private static interface PrivateInterface {}
static class TestBeanWithInterfaces implements PrivateInterface {
public String foo() {
return "foo()";
}
}
public static class TestBean {
public static String bar() {
@ -58,6 +67,11 @@ public class MethodUtilsTest extends TestCase {
public static String bar(Object o) {
return "bar(Object)";
}
@SuppressWarnings("unused")
private void privateStuff() {
}
public String foo() {
return "foo()";
@ -247,6 +261,13 @@ public class MethodUtilsTest extends TestCase {
assertSame(Mutable.class, accessibleMethod.getDeclaringClass());
}
}
public void testGetAccessibleMethodPrivateInterface() throws Exception {
Method expected = TestBeanWithInterfaces.class.getMethod("foo");
assertNotNull(expected);
Method actual = MethodUtils.getAccessibleMethod(TestBeanWithInterfaces.class, "foo");
assertNull(actual);
}
public void testGetAccessibleInterfaceMethodFromDescription()
throws Exception {
@ -269,6 +290,12 @@ public class MethodUtilsTest extends TestCase {
MutableObject.class, "getValue", ArrayUtils.EMPTY_CLASS_ARRAY)
.getDeclaringClass());
}
public void testGetAccessibleMethodInaccessible() throws Exception {
Method expected = TestBean.class.getDeclaredMethod("privateStuff");
Method actual = MethodUtils.getAccessibleMethod(expected);
assertNull(actual);
}
public void testGetMatchingAccessibleMethod() throws Exception {
expectMatchingAccessibleMethodParameterTypes(TestBean.class, "foo",