From f5cb67acd964ee173967081205eb30c43ba585c3 Mon Sep 17 00:00:00 2001 From: Henri Yandell Date: Sun, 3 Jul 2011 06:59:59 +0000 Subject: [PATCH] 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 --- .../lang3/reflect/MethodUtilsTest.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java b/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java index b3409f7f5..de7bd78b0 100644 --- a/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/reflect/MethodUtilsTest.java @@ -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",