[jboss-cvs] JBossAS SVN: r72904 - in projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata: spi and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Apr 30 18:46:29 EDT 2008
Author: alesj
Date: 2008-04-30 18:46:28 -0400 (Wed, 30 Apr 2008)
New Revision: 72904
Added:
projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/spi/signature/JavassistSignatureTestCase.java
Modified:
projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/SignatureMetaDataTest.java
projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/spi/ContainerSPITestSuite.java
Log:
Javassist signature tests.
Modified: projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/SignatureMetaDataTest.java
===================================================================
--- projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/SignatureMetaDataTest.java 2008-04-30 21:28:37 UTC (rev 72903)
+++ projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/SignatureMetaDataTest.java 2008-04-30 22:46:28 UTC (rev 72904)
@@ -235,9 +235,9 @@
protected FieldSignature[] getFieldSignatures() throws Exception
{
FieldSignature[] signatures = new FieldSignature[3];
- signatures[1] = getStringFieldSignature();
- signatures[2] = getFieldSignature();
- signatures[3] = getFieldInfoSignature();
+ signatures[0] = getStringFieldSignature();
+ signatures[1] = getFieldSignature();
+ signatures[2] = getFieldInfoSignature();
return signatures;
}
Modified: projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/spi/ContainerSPITestSuite.java
===================================================================
--- projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/spi/ContainerSPITestSuite.java 2008-04-30 21:28:37 UTC (rev 72903)
+++ projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/spi/ContainerSPITestSuite.java 2008-04-30 22:46:28 UTC (rev 72904)
@@ -24,6 +24,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
+import org.jboss.test.metadata.spi.signature.JavassistSignatureTestCase;
import org.jboss.test.metadata.spi.signature.SignatureTestCase;
/**
@@ -43,6 +44,7 @@
TestSuite suite = new TestSuite("Container SPI Tests");
suite.addTest(SignatureTestCase.suite());
+ suite.addTest(JavassistSignatureTestCase.suite());
return suite;
}
Added: projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/spi/signature/JavassistSignatureTestCase.java
===================================================================
--- projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/spi/signature/JavassistSignatureTestCase.java (rev 0)
+++ projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/spi/signature/JavassistSignatureTestCase.java 2008-04-30 22:46:28 UTC (rev 72904)
@@ -0,0 +1,121 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.metadata.spi.signature;
+
+import java.util.Calendar;
+import java.util.TimeZone;
+
+import javassist.ClassPool;
+import javassist.CtClass;
+import javassist.CtMethod;
+import javassist.NotFoundException;
+import junit.framework.Test;
+import org.jboss.metadata.spi.signature.Signature;
+import org.jboss.metadata.spi.signature.javassist.JavassistConstructorParametersSignature;
+import org.jboss.metadata.spi.signature.javassist.JavassistMethodParametersSignature;
+import org.jboss.metadata.spi.signature.javassist.JavassistSignatureFactory;
+import org.jboss.test.metadata.SignatureMetaDataTest;
+import org.jboss.test.metadata.shared.support.SignatureTester;
+
+/**
+ * JavassistSignatureTestCase.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class JavassistSignatureTestCase extends SignatureMetaDataTest
+{
+ private ClassPool pool;
+
+ public JavassistSignatureTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(JavassistSignatureTestCase.class);
+ }
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ pool = ClassPool.getDefault();
+ }
+
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ pool = null;
+ }
+
+ protected CtClass getCtClass(Class<?> clazz) throws NotFoundException
+ {
+ return pool.get(clazz.getName());
+ }
+
+ public void testConstructor() throws Exception
+ {
+ CtClass ctClass = getCtClass(SignatureTester.class);
+ Signature jpcs = JavassistSignatureFactory.getSignature(ctClass.getDeclaredConstructor(new CtClass[]{getCtClass(Calendar.class)}));
+ assertEquals(getClassParameterConstructorSignature(), jpcs);
+ assertEquals(getClassInfoParameterConstructorSignature(), jpcs);
+ }
+
+ public void testConstructorParams() throws Exception
+ {
+ CtClass ctClass = getCtClass(SignatureTester.class);
+ Signature jpcs = new JavassistConstructorParametersSignature(ctClass.getDeclaredConstructor(new CtClass[]{getCtClass(Calendar.class)}), 0);
+ assertEquals(getConstructorParametersSignature(), jpcs);
+ assertEquals(getConstructorInfoParametersSignature(), jpcs);
+ }
+
+ public void testMethod() throws Exception
+ {
+ CtClass ctClass = getCtClass(SignatureTester.class);
+ CtMethod ctMethod = ctClass.getDeclaredMethod("applyTimeZone", new CtClass[]{getCtClass(Calendar.class), getCtClass(TimeZone.class)});
+ Signature sig = JavassistSignatureFactory.getSignature(ctMethod);
+ assertEquals(getClassMethodSignature(), sig);
+ assertEquals(getStringMethodSignature(), sig);
+ assertEquals(getMethodSignature(), sig);
+ assertEquals(getMethodInfoSignature(), sig);
+ }
+
+ public void testMethodParams() throws Exception
+ {
+ CtClass ctClass = getCtClass(SignatureTester.class);
+ CtMethod ctMethod = ctClass.getDeclaredMethod("applyTimeZone", new CtClass[]{getCtClass(Calendar.class), getCtClass(TimeZone.class)});
+ Signature sig = new JavassistMethodParametersSignature(ctMethod, 0);
+ assertEquals(getClassMethodParametersSignature(), sig);
+ assertEquals(getStringMethodParametersSignature(), sig);
+ assertEquals(getMethodParametersSignature(), sig);
+ assertEquals(getMethodInfoParametersSignature(), sig);
+ }
+
+ public void testField() throws Exception
+ {
+ CtClass ctClass = getCtClass(SignatureTester.class);
+ Signature sig = JavassistSignatureFactory.getSignature(ctClass.getField("calendar"));
+ assertEquals(getStringFieldSignature(), sig);
+ assertEquals(getFieldSignature(), sig);
+ assertEquals(getFieldInfoSignature(), sig);
+ }
+}
More information about the jboss-cvs-commits
mailing list