[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