1 package org.apache.commons.javaflow.bytecode.transformation;
2
3 import junit.framework.TestCase;
4
5
6 public abstract class AbstractTransformerTestCase extends TestCase {
7
8 public static String getTestCaseClassName( final Class pClazz ) {
9 final String pkg = pClazz.getPackage().getName();
10 final String cls = pClazz.getName();
11 return pkg.substring(0, pkg.lastIndexOf('.'))
12 + ".tests.Abstract"
13 + cls.substring(cls.lastIndexOf('.') + 1);
14 }
15
16 public static String getTestCaseName( final Class pClazz ) {
17 final String cls = pClazz.getName();
18 return cls.substring(cls.lastIndexOf('.') + 1);
19 }
20
21 // protected void assertSameTransformation( final String pClazzName ) throws IOException {
22 // final InputStream is = getStream(pClazzName);
23 // final ClassReader cr = new ClassReader(is);
24 //
25 // final AsmClassTransformer t1 = new AsmClassTransformer();
26 // final BcelClassTransformer t2 = new BcelClassTransformer();
27 //
28 // final byte[] bytecode = t1.transform(cr.b);
29 // CheckClassAdapter.verify(new ClassReader(bytecode), true);
30 //
31 // final StringWriter sw1 = new StringWriter();
32 // new ClassReader(bytecode).accept(new TraceClassVisitor(new PrintWriter(sw1)), false);
33 //
34 // final StringWriter sw2 = new StringWriter();
35 // new ClassReader(t2.transform(cr.b)).accept(new TraceClassVisitor(new PrintWriter(sw2)), false);
36 //
37 // assertEquals(sw2.toString(), sw1.toString());
38 // }
39
40 protected void runTest() throws Throwable {
41 try {
42 super.runTest();
43
44 } catch( Throwable e) {
45 throw e;
46 }
47 }
48
49 // private InputStream getStream( String name) {
50 // return getClass().getResourceAsStream("/" + name.replace( '.', '/') + ".class");
51 // }
52
53 }