[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