package org.testng.junit;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import junit.framework.Test;
public class JUnit3TestRecognizer implements JUnitTestRecognizer {
public JUnit3TestRecognizer() {}
public boolean isTest(Class c) {
if (Test.class.isAssignableFrom(c)) {
boolean haveTest = false;
for (Method m : c.getMethods()) {
if (m.getName().startsWith("test")) {
haveTest = true;
break;
}
}
if (haveTest) {
return true;
}
}
try {
Method m = c.getDeclaredMethod("suite");
if (Modifier.isPublic(m.getModifiers()) && Modifier.isStatic(m.getModifiers())) {
return m.getReturnType().isAssignableFrom(Test.class);
}
} catch (Throwable t) {
return false;
}
return false;
}
}