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