1 package attrib4j.tests;
2
3 import java.util.Arrays;
4
5 import junit.framework.TestCase;
6 import attrib4j.bcel.DescriptorUtil;
7
8 /***
9 * Test the conversion of method signatures used in Javadoc and Java
10 * to those used in the JVM spec.
11 *
12 * @author <a href="mailto:mpollack@speakeasy.org">Mark Pollack</a>
13 */
14
15 public class DescriptorTest extends TestCase {
16
17 /***
18 * Creates a new <code>DescriptorTest</code> instance.
19 *
20 * @param name The name of the test.
21 */
22 public DescriptorTest(String name) {
23 super(name);
24 }
25
26 /***
27 * Test the conversion of method signatures from Java/Javadoc format
28 * to JVM format.
29 *
30 */
31 public void testJavaToJVM() {
32 String javadocSig = "(int, long)";
33 String javadocReturnType = "void";
34 String converted =
35 DescriptorUtil.convert(javadocSig, javadocReturnType);
36 System.out.println("******* converted = " + converted);
37 assertEquals("not equal", "(IJ)V", converted);
38
39 }
40
41 /***
42 * Test the conversion of JVM like signatures to signatures provided
43 * by the reflection package.
44 */
45 public void testJVMtoJava() {
46 String[] methodParamTypes = new String[2];
47 methodParamTypes[0] = "java.lang.Object";
48 methodParamTypes[1] = "java.lang.Object";
49 String jvmSignature = "(Ljava/lang/Object;Ljava/lang/Object;)V";
50 String[] convertedParamTypes =
51 DescriptorUtil.convertToJavaFormat(jvmSignature);
52 assertTrue(
53 "method signature arrays for object,object not equal",
54 Arrays.equals(methodParamTypes, convertedParamTypes));
55 methodParamTypes[0] = "int";
56 methodParamTypes[1] = "long";
57 jvmSignature = "(IJ)V";
58 convertedParamTypes = DescriptorUtil.convertToJavaFormat(jvmSignature);
59 assertTrue(
60 "method signature arrays for int long not equal",
61 Arrays.equals(methodParamTypes, convertedParamTypes));
62
63 }
64
65 } // DescriptorTest
This page was automatically generated by Maven