package com.android.tests.basic;
import junit.framework.TestCase;
import java.lang.reflect.Method;
public class StringProviderTest extends TestCase {
public void testNonObfuscatedMethod() {
// this should not be obfuscated
String className = "com.android.tests.basic.StringProvider";
String methodName = "getString";
searchMethod(className, methodName, true /*shouldExist*/);
}
public void testObduscatedMethod() {
String className = "com.android.tests.basic.StringProvider";
String methodName = "getStringInternal";
searchMethod(className, methodName, false /*shouldExist*/);
}
private void searchMethod(String className, String methodName, boolean shouldExist) {
try {
Class<?> theClass = Class.forName(className);
Method method = theClass.getDeclaredMethod(methodName, int.class);
if (!shouldExist) {
fail("Found " + className + "." + methodName);
}
} catch (ClassNotFoundException e) {
fail("Failed to find com.android.tests.basic.StringGetter");
} catch (NoSuchMethodException e) {
if (shouldExist) {
fail("Did not find " + className + "." + methodName);
}
}
}
}