package test.utils.cache;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.axis.utils.cache.JavaClass;
import java.lang.reflect.Method;
public class TestJavaClass extends TestCase
{
public TestJavaClass (String name) {
super(name);
}
public static Test suite() {
return new TestSuite(TestJavaClass.class);
}
protected void setup() {
}
public void testGetJavaClass()
{
Class c = new java.util.Date().getClass();
JavaClass jc = new JavaClass(c);
assertNotNull("The JavaClass was null", jc);
assertTrue("JavaClass name is not 'java.util.Date', it is: " + jc.getClass().getName(),
jc.getJavaClass().getName().equals("java.util.Date"));
assertTrue("JavaClass cut off the name of the real class.",
!jc.getJavaClass().getName().equals("java.util.D"));
}
public void testGetMethod()
{
Class v = new java.util.Vector().getClass();
Class st = new java.util.StringTokenizer("some string").getClass();
JavaClass jcVec = new JavaClass(v);
JavaClass jcST = new JavaClass(st);
Method countTkns = jcST.getMethod("countTokens")[0];
Method nextTkn = jcST.getMethod("nextToken")[0];
Method[] adds = jcVec.getMethod("add");
assertEquals("countTkns name was not 'countTokens', it is: " + countTkns.getName(),
"countTokens", countTkns.getName());
assertEquals("nextTkn name was not 'nextToken', it is: " + nextTkn.getName(),
"nextToken", nextTkn.getName());
assertEquals("There are not 2 add methods as expected, there are " + adds.length, 2, adds.length);
for (int i = 0; i < adds.length; ++i) {
if (adds[i].getReturnType().equals(boolean.class)) {
assertEquals("Unexpected boolean add signature",
"public synchronized boolean java.util.Vector.add(java.lang.Object)",
adds[i].toString());
}
else {
assertEquals("Unexpected void add signature",
"public void java.util.Vector.add(int,java.lang.Object)",
adds[i].toString());
}
}
}
public void testNoSuchMethod()
{
Class v = new java.util.Vector().getClass();
JavaClass jcVec = new JavaClass(v);
Method[] gorp = jcVec.getMethod("gorp");
assertNull("gorp was not null", gorp);
}
}
|