[webbeans-commits] Webbeans SVN: r1395 - tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Tue Feb 3 10:22:56 EST 2009


Author: dallen6
Date: 2009-02-03 10:22:56 -0500 (Tue, 03 Feb 2009)
New Revision: 1395

Added:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/MockCreationalContext.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/SynchronousBinding.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/TameBinding.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/WhitefishBinding.java
Modified:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/BindingDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/Tarantula.java
Log:
Fixes to definition tests for annotation bindings.

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/BindingDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/BindingDefinitionTest.java	2009-02-03 12:17:38 UTC (rev 1394)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/BindingDefinitionTest.java	2009-02-03 15:22:56 UTC (rev 1395)
@@ -1,8 +1,6 @@
 package org.jboss.webbeans.tck.unit.definition.binding;
 
-
 import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
 import java.util.List;
 import java.util.Set;
 
@@ -14,8 +12,6 @@
 import org.jboss.webbeans.tck.impl.SpecAssertion;
 import org.jboss.webbeans.tck.impl.SpecAssertions;
 import org.jboss.webbeans.tck.impl.literals.CurrentBinding;
-import org.jboss.webbeans.tck.impl.util.MockCreationalContext;
-import org.jboss.webbeans.tck.impl.util.Reflections;
 import org.testng.annotations.Test;
 
 /**
@@ -23,7 +19,7 @@
  */
 public class BindingDefinitionTest extends AbstractTest
 {
-   
+
    @Override
    protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
    {
@@ -31,185 +27,202 @@
       deploymentTypes.add(AnotherDeploymentType.class);
       return deploymentTypes;
    }
-   
-   @Test 
-   @SpecAssertions({
-      @SpecAssertion(section = "2.3.3", id = "unknown"), 
-      @SpecAssertion(section = "2.3.1", id = "unknown")
-   })
+
+   @Test
+   @SpecAssertions( { @SpecAssertion(section = "2.3.3", id = "unknown"), @SpecAssertion(section = "2.3.1", id = "unknown") })
    public void testDefaultBindingDeclaredInJava()
-   {      
-      Bean<Order> order = createSimpleBean(Order.class);
+   {
+      deployBeans(Order.class);
+      Bean<Order> order = manager.resolveByType(Order.class).iterator().next();
       assert order.getBindings().size() == 1;
       order.getBindings().iterator().next().annotationType().equals(Production.class);
    }
 
-   @Test(groups={"stub", "annotationDefinition"}) 
-   @SpecAssertion(section="2.3.2", id = "unknown")
+   @Test(groups = { "stub", "annotationDefinition", "underInvestigation" })
+   @SpecAssertion(section = "2.3.2", id = "unknown")
    public void testBindingHasCorrectTarget()
    {
+      // TODO This is only a definition without any real assertion about a given
+      // binding type
+      // If there are many binding types, how do we find them?
       assert false;
    }
 
-   @Test(groups={"stub", "annotationDefinition"}) 
-   @SpecAssertion(section="2.3.2", id = "unknown")
+   @Test(groups = { "stub", "annotationDefinition", "underInvestigation" })
+   @SpecAssertion(section = "2.3.2", id = "unknown")
    public void testBindingHasCorrectRetention()
    {
+      // TODO This is only a definition without any real assertion about a given
+      // binding type
+      // If there are many binding types, how do we find them?
       assert false;
    }
 
-   @Test(groups={"stub", "annotationDefinition"}) 
-   @SpecAssertion(section="2.3.2", id = "unknown")
+   @Test(groups = { "annotationDefinition" })
+   @SpecAssertion(section = "2.3.2", id = "unknown")
    public void testBindingDeclaresBindingAnnotation()
    {
-      assert false;
+      deployBeans(SpiderProducer.class);
+      assert !manager.resolveByType(Tarantula.class, new TameBinding()).isEmpty();
    }
-   
-   @SuppressWarnings("unchecked")
-   @Test @SpecAssertion(section="2.3.3", id = "unknown")
+
+   @Test
+   @SpecAssertion(section = "2.3.3", id = "unknown")
    public void testBindingsDeclaredInJava()
-   {     
-      Bean<Cat> cat = createSimpleBean(Cat.class);
+   {
+      deployBeans(Cat.class);
+      Bean<Cat> cat = manager.resolveByType(Cat.class, new SynchronousBinding()).iterator().next();
       assert cat.getBindings().size() == 1;
-      assert Reflections.annotationSetMatches(cat.getBindings(), Synchronous.class);
+      assert cat.getBindings().contains(new SynchronousBinding());
    }
-   
-   @Test @SpecAssertion(section="2.3.3", id = "unknown") 
+
+   @Test
+   @SpecAssertion(section = "2.3.3", id = "unknown")
    public void testMultipleBindings()
-   {      
-      Bean<?> model = createSimpleBean(Cod.class);
+   {
+      deployBeans(Cod.class);
+      Bean<?> model = manager.resolveByType(Cod.class, new ChunkyBinding(true), new WhitefishBinding()).iterator().next();
       assert model.getBindings().size() == 2;
    }
-   
-   @Test(groups={"stub", "webbeansxml"}) 
-   @SpecAssertion(section="2.3.4", id = "unknown")
+
+   @Test(groups = { "stub", "webbeansxml" })
+   @SpecAssertion(section = "2.3.4", id = "unknown")
    public void testBindingsDeclaredInXml()
    {
-      //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
-      //annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
-      //AnnotatedClass annotatedItem = new SimpleAnnotatedClass(Antelope.class, annotations);
-      
-      //SimpleBean<Antelope> antelope = createSimpleBean(Antelope.class, annotatedItem, manager);
-      // assert Reflections.annotationSetMatches(antelope.getBindingTypes(), Asynchronous.class);
+      // Map<Class<? extends Annotation>, Annotation> annotations = new
+      // HashMap<Class<? extends Annotation>, Annotation>();
+      // annotations.put(Asynchronous.class, new
+      // AsynchronousAnnotationLiteral());
+      // AnnotatedClass annotatedItem = new SimpleAnnotatedClass(Antelope.class,
+      // annotations);
+
+      // SimpleBean<Antelope> antelope = createSimpleBean(Antelope.class,
+      // annotatedItem, manager);
+      // assert Reflections.annotationSetMatches(antelope.getBindingTypes(),
+      // Asynchronous.class);
       assert false;
    }
 
-   @Test(groups={"stub", "webbeansxml"}) 
-   @SpecAssertion(section="2.3.4", id = "unknown")
+   @Test(groups = { "stub", "webbeansxml" })
+   @SpecAssertion(section = "2.3.4", id = "unknown")
    public void testXmlBindingOverridesAndIgnoresJava()
    {
-      //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
-      //annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
-      //AnnotatedClass<Cat> annotatedItem = new SimpleAnnotatedClass<Cat>(Cat.class, annotations);
-      
-      //SimpleBean<Cat> cat = createSimpleBean(Cat.class, annotatedItem, manager);
-      //assert cat.getBindingTypes().size() == 1;
-      //assert cat.getBindingTypes().contains(new AnnotationLiteral<Asynchronous>() {});
+      // Map<Class<? extends Annotation>, Annotation> annotations = new
+      // HashMap<Class<? extends Annotation>, Annotation>();
+      // annotations.put(Asynchronous.class, new
+      // AsynchronousAnnotationLiteral());
+      // AnnotatedClass<Cat> annotatedItem = new
+      // SimpleAnnotatedClass<Cat>(Cat.class, annotations);
+
+      // SimpleBean<Cat> cat = createSimpleBean(Cat.class, annotatedItem,
+      // manager);
+      // assert cat.getBindingTypes().size() == 1;
+      // assert cat.getBindingTypes().contains(new
+      // AnnotationLiteral<Asynchronous>() {});
       assert false;
    }
-   
-   @Test(groups={"stub", "webbeansxml"}) 
-   @SpecAssertion(section="2.3.4", id = "unknown")
+
+   @Test(groups = { "stub", "webbeansxml" })
+   @SpecAssertion(section = "2.3.4", id = "unknown")
    public void testNoBindingsDeclaredInXml()
    {
-      //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
-      //AnnotatedClass<Cat> annotatedItem = new SimpleAnnotatedClass<Cat>(Cat.class, annotations);
-      
-      //SimpleBean<Cat> cat = createSimpleBean(Cat.class, annotatedItem, manager);
-      //assert cat.getBindingTypes().size() == 1;
-      //assert cat.getBindingTypes().contains(new AnnotationLiteral<Synchronous>() {});
+      // Map<Class<? extends Annotation>, Annotation> annotations = new
+      // HashMap<Class<? extends Annotation>, Annotation>();
+      // AnnotatedClass<Cat> annotatedItem = new
+      // SimpleAnnotatedClass<Cat>(Cat.class, annotations);
+
+      // SimpleBean<Cat> cat = createSimpleBean(Cat.class, annotatedItem,
+      // manager);
+      // assert cat.getBindingTypes().size() == 1;
+      // assert cat.getBindingTypes().contains(new
+      // AnnotationLiteral<Synchronous>() {});
       assert false;
    }
-   
-   @Test(groups={"stub", "webbeansxml"}) 
-   @SpecAssertions({
-      @SpecAssertion(section = "2.3.4", id = "unknown"),
-      @SpecAssertion(section = "2.3.1", id = "unknown") 
-   })
+
+   @Test(groups = { "stub", "webbeansxml" })
+   @SpecAssertions( { @SpecAssertion(section = "2.3.4", id = "unknown"), @SpecAssertion(section = "2.3.1", id = "unknown") })
    public void testDefaultBindingDeclaredInXml()
    {
-      Bean<?> model = createSimpleBean(Tuna.class);
+      deployBeans(Tuna.class);
+      Bean<?> model = manager.resolveByType(Tuna.class).iterator().next();
       assert model.getBindings().size() == 1;
       assert model.getBindings().contains(new CurrentBinding());
       assert false;
    }
-   
-   @Test(groups={"injection", "producerMethod"}) 
-   @SpecAssertion(section="2.3.5", id = "unknown") 
+
+   @Test(groups = { "injection", "producerMethod" })
+   @SpecAssertion(section = "2.3.5", id = "unknown")
    public void testFieldInjectedFromProducerMethod() throws Exception
    {
-      Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
-      manager.addBean(spiderProducer);
-      Method method = SpiderProducer.class.getMethod("produceTameTarantula");
-      manager.addBean(createProducerMethodBean(method, spiderProducer));
-      Barn barn = createSimpleBean(Barn.class).create(new MockCreationalContext<Barn>());
+      deployBeans(SpiderProducer.class, Barn.class);
+      Barn barn = manager.resolveByType(Barn.class).iterator().next().create(new MockCreationalContext<Barn>());
       assert barn.petSpider != null;
       assert barn.petSpider instanceof DefangedTarantula;
    }
-   
-   @Test(groups={"stub", "injection", "webbeansxml"}) 
-   @SpecAssertion(section="2.3.5", id = "unknown") 
+
+   @Test(groups = { "stub", "injection", "webbeansxml" })
+   @SpecAssertion(section = "2.3.5", id = "unknown")
    public void testFieldWithBindingInXml()
    {
       assert false;
    }
-   
-   @Test(groups={"stub", "injection", "webbeansxml"}) 
-   @SpecAssertion(section="2.3.5", id = "unknown") 
+
+   @Test(groups = { "stub", "injection", "webbeansxml" })
+   @SpecAssertion(section = "2.3.5", id = "unknown")
    public void testFieldWithBindingInXmlIgnoresAnnotations()
    {
       assert false;
    }
-   
-   @SuppressWarnings("unchecked")
-   @Test(groups={"injection", "producerMethod"})
+
+   @Test(groups = { "injection", "producerMethod" })
    public void testMethodWithBindingAnnotationsOnParametersAreInjected() throws Exception
    {
-      Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
-      manager.addBean(spiderProducer);
-      Method method = SpiderProducer.class.getMethod("produceTameTarantula");
-      manager.addBean(createProducerMethodBean(method, spiderProducer));
-      method = SpiderProducer.class.getMethod("produceSpiderFromInjection", Tarantula.class);
-      Bean<Spider> spiderBean = createProducerMethodBean(method, spiderProducer);
-      Spider spider = spiderBean.create(new MockCreationalContext<Spider>());
+      deployBeans(SpiderProducer.class);
+      Spider spider = manager.resolveByType(Spider.class).iterator().next().create(new MockCreationalContext<Spider>());
       assert spider != null;
       assert spider instanceof DefangedTarantula;
    }
-   
-   @Test(groups={"stub", "injection", "webbeansxml"}) 
-   @SpecAssertion(section="2.3.6", id = "unknown") 
+
+   @Test(groups = { "stub", "injection", "webbeansxml" })
+   @SpecAssertion(section = "2.3.6", id = "unknown")
    public void testMethodWithBindingAnnotationsOnParametersDeclaredInXml()
    {
       assert false;
    }
-   
-   @Test(groups={"stub", "injection", "webbeansxml"}) 
-   @SpecAssertion(section="2.3.6", id = "unknown") 
+
+   @Test(groups = { "stub", "injection", "webbeansxml" })
+   @SpecAssertion(section = "2.3.6", id = "unknown")
    public void testMethodWithBindingAnnotationsOnParametersDeclaredInXmlIgnoresAnnotations()
    {
       assert false;
    }
-   
-   @Test @SpecAssertion(section="4.1", id = "unknown")
+
+   @Test
+   @SpecAssertion(section = "4.1", id = "unknown")
    public void testBindingDeclaredInheritedIsInherited() throws Exception
    {
-      Set<? extends Annotation> bindings = createSimpleBean(BorderCollie.class).getBindings();
+      deployBeans(BorderCollie.class);
+      Set<? extends Annotation> bindings = manager.resolveByType(BorderCollie.class, new HairyBinding(false)).iterator().next().getBindings();
       assert bindings.size() == 1;
       assert bindings.iterator().next().annotationType().equals(Hairy.class);
    }
-   
-   @Test @SpecAssertion(section="4.1", id = "unknown")
+
+   @Test
+   @SpecAssertion(section = "4.1", id = "unknown")
    public void testBindingNotDeclaredInheritedIsNotInherited()
    {
-      Set<? extends Annotation> bindings = createSimpleBean(ShetlandPony.class).getBindings();
+      deployBeans(ShetlandPony.class);
+      Set<? extends Annotation> bindings = manager.resolveByType(ShetlandPony.class).iterator().next().getBindings();
       assert bindings.size() == 1;
       assert bindings.iterator().next().annotationType().equals(Current.class);
    }
-   
-   @Test @SpecAssertion(section="4.1", id = "unknown")
+
+   @Test
+   @SpecAssertion(section = "4.1", id = "unknown")
    public void testBindingDeclaredInheritedIsBlockedByIntermediateClass()
    {
-      Set<? extends Annotation> bindings = createSimpleBean(ClippedBorderCollie.class).getBindings();
+      deployBeans(ClippedBorderCollie.class);
+      Set<? extends Annotation> bindings = manager.resolveByType(ClippedBorderCollie.class, new HairyBinding(true)).iterator().next().getBindings();
       assert bindings.size() == 1;
       Annotation binding = bindings.iterator().next();
       assert binding.annotationType().equals(Hairy.class);

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java	2009-02-03 15:22:56 UTC (rev 1395)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.definition.binding;
+
+import javax.inject.AnnotationLiteral;
+
+class ChunkyBinding extends AnnotationLiteral<Chunky> implements Chunky
+{
+   private boolean chunky;
+
+   public ChunkyBinding(boolean chunky)
+   {
+      this.chunky = chunky;
+   }
+
+   @Override
+   public boolean realChunky()
+   {
+      return chunky;
+   }
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/ChunkyBinding.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java	2009-02-03 15:22:56 UTC (rev 1395)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.definition.binding;
+
+import javax.inject.AnnotationLiteral;
+
+public class HairyBinding extends AnnotationLiteral<Hairy> implements Hairy
+{
+   private boolean clipped;
+   
+   public HairyBinding(boolean clipped)
+   {
+      this.clipped = clipped;
+   }
+   
+   @Override
+   public boolean clipped()
+   {
+      return clipped;
+   }
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/HairyBinding.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/MockCreationalContext.java (from rev 1394, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/util/MockCreationalContext.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/MockCreationalContext.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/MockCreationalContext.java	2009-02-03 15:22:56 UTC (rev 1395)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.definition.binding;
+
+import javax.context.CreationalContext;
+
+public class MockCreationalContext<T> implements CreationalContext<T>
+{
+
+
+   public void push(T incompleteInstance)
+   {
+      
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/MockCreationalContext.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/SynchronousBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/SynchronousBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/SynchronousBinding.java	2009-02-03 15:22:56 UTC (rev 1395)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.unit.definition.binding;
+
+import javax.inject.AnnotationLiteral;
+
+class SynchronousBinding extends AnnotationLiteral<Synchronous> implements Synchronous
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/SynchronousBinding.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/TameBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/TameBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/TameBinding.java	2009-02-03 15:22:56 UTC (rev 1395)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.unit.definition.binding;
+
+import javax.inject.AnnotationLiteral;
+
+class TameBinding extends AnnotationLiteral<Tame> implements Tame
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/TameBinding.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/Tarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/Tarantula.java	2009-02-03 12:17:38 UTC (rev 1394)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/Tarantula.java	2009-02-03 15:22:56 UTC (rev 1395)
@@ -1,6 +1,13 @@
 package org.jboss.webbeans.tck.unit.definition.binding;
 
-class Tarantula extends Spider implements DeadlySpider
+import java.io.Serializable;
+
+class Tarantula extends Spider implements DeadlySpider, Serializable
 {
 
+   /**
+    * 
+    */
+   private static final long serialVersionUID = 1L;
+
 }

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/WhitefishBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/WhitefishBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/WhitefishBinding.java	2009-02-03 15:22:56 UTC (rev 1395)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.unit.definition.binding;
+
+import javax.inject.AnnotationLiteral;
+
+class WhitefishBinding extends AnnotationLiteral<Whitefish> implements Whitefish
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/binding/WhitefishBinding.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain




More information about the weld-commits mailing list