[webbeans-commits] Webbeans SVN: r1037 - ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts and 5 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Sat Jan 17 09:32:19 EST 2009


Author: pete.muir at jboss.org
Date: 2009-01-17 09:32:18 -0500 (Sat, 17 Jan 2009)
New Revision: 1037

Added:
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/StereotypesTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Animal.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ApplicationContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/City.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ContextManagementTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ConversationContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlyAnimal.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlySpider.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DependentContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Fox.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/FoxRun.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Helsinki.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Hyvinkaa.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Joensuu.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Jyvaskyla.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/NormalContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/RequestContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SessionContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Spider.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SpiderProducer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Tarantula.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Turku.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Vaasa.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Violation.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Animal.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnimalStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnotherStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Antelope_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/ApplicationScopedHornedMammalStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Asynchronous.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Bovine.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Carp_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Chair_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Elk_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/FallowDeer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Gazelle_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Goat_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Goldfish.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HighlandCow.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HornedAnimalDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HornedMammalStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Mammal.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Moose.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Reindeer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/RequestScopedAnimalStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/RoeDeer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Springbok.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithBindingTypes_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithNonEmptyNamed_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithTooManyDeploymentTypes_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithTooManyScopeTypes_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypesTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Tame.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injectionpoint/
Removed:
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ApplicationContextTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ContextManagement.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ConversationContextTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/DependentContextTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/RequestContextTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/SessionContextTest.java
Log:
Port many of the context tests

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java	2009-01-16 20:28:23 UTC (rev 1036)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -1,213 +0,0 @@
-package org.jboss.webbeans.test;
-
-import java.util.Arrays;
-
-import javax.webbeans.DefinitionException;
-import javax.webbeans.RequestScoped;
-
-import org.jboss.webbeans.bean.SimpleBean;
-import org.jboss.webbeans.model.StereotypeModel;
-import org.jboss.webbeans.test.annotations.AnimalOrderStereotype;
-import org.jboss.webbeans.test.annotations.AnimalStereotype;
-import org.jboss.webbeans.test.annotations.HornedAnimalDeploymentType;
-import org.jboss.webbeans.test.annotations.HornedMammalStereotype;
-import org.jboss.webbeans.test.annotations.RequestScopedAnimalStereotype;
-import org.jboss.webbeans.test.annotations.Tame;
-import org.jboss.webbeans.test.annotations.broken.StereotypeWithBindingTypes;
-import org.jboss.webbeans.test.annotations.broken.StereotypeWithNonEmptyNamed;
-import org.jboss.webbeans.test.annotations.broken.StereotypeWithTooManyDeploymentTypes;
-import org.jboss.webbeans.test.annotations.broken.StereotypeWithTooManyScopeTypes;
-import org.jboss.webbeans.test.beans.Animal;
-import org.jboss.webbeans.test.beans.Chair;
-import org.jboss.webbeans.test.beans.Goldfish;
-import org.jboss.webbeans.test.beans.HighlandCow;
-import org.jboss.webbeans.test.beans.Order;
-import org.jboss.webbeans.test.beans.broken.Carp;
-import org.testng.annotations.Test;
-
- at SpecVersion("20081206")
-public class StereotypesTest extends AbstractTest
-{
-	
-   @Test(groups={"stub", "annotationDefinition"}, expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.1")
-   public void testHasCorrectTarget()
-   {
-	   assert false;
-   }
-   
-   @Test(groups={"stub", "annotationDefinition"}, expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.1")
-   public void testHasCorrectRetention()
-   {
-	   assert false;
-   }
-   
-   @Test(groups={"stub", "annotationDefinition"}, expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.1")
-   public void testHasStereotypeAnnotation()
-   {
-	   assert false;
-   }
-   
-   @Test
-   public void testAnimalStereotype()
-   {
-      StereotypeModel<AnimalStereotype> animalStereotype = new StereotypeModel<AnimalStereotype>(AnimalStereotype.class);
-      assert animalStereotype.getDefaultScopeType().annotationType().equals(RequestScoped.class);
-      assert animalStereotype.getInterceptorBindings().size() == 0;
-      assert animalStereotype.getRequiredTypes().size() == 1;
-      assert animalStereotype.getRequiredTypes().contains(Animal.class);
-      assert animalStereotype.getSupportedScopes().size() == 0;
-      assert !animalStereotype.isBeanNameDefaulted();
-      assert animalStereotype.getDefaultDeploymentType() == null;
-   }
-   
-   @Test
-   public void testAnimalOrderStereotype()
-   {
-      StereotypeModel<AnimalOrderStereotype> animalStereotype = new StereotypeModel<AnimalOrderStereotype>(AnimalOrderStereotype.class);
-      assert animalStereotype.getDefaultScopeType() == null;
-      assert animalStereotype.getInterceptorBindings().size() == 0;
-      assert animalStereotype.getRequiredTypes().size() == 2;
-      Class<?> [] requiredTypes = {Animal.class, Order.class};
-      assert animalStereotype.getRequiredTypes().containsAll(Arrays.asList(requiredTypes));
-      assert animalStereotype.getSupportedScopes().size() == 0;
-      assert !animalStereotype.isBeanNameDefaulted();
-      assert animalStereotype.getDefaultDeploymentType() == null;
-   }
-   
-   @Test
-   public void testRequestScopedAnimalStereotype()
-   {
-      StereotypeModel<RequestScopedAnimalStereotype> animalStereotype = new StereotypeModel<RequestScopedAnimalStereotype>(RequestScopedAnimalStereotype.class);
-      assert animalStereotype.getDefaultScopeType() == null;
-      assert animalStereotype.getInterceptorBindings().size() == 0;
-      assert animalStereotype.getRequiredTypes().size() == 1;
-      assert Animal.class.equals(animalStereotype.getRequiredTypes().iterator().next());
-      assert animalStereotype.getSupportedScopes().size() == 1;
-      assert animalStereotype.getSupportedScopes().contains(RequestScoped.class);
-      assert !animalStereotype.isBeanNameDefaulted();
-      assert animalStereotype.getDefaultDeploymentType() == null;
-   }
-   
-   @Test @SpecAssertion(section="2.7.1.1")
-   public void testStereotypeWithScopeType()
-   {
-	   StereotypeModel<AnimalStereotype> animalStereotype = new StereotypeModel<AnimalStereotype>(AnimalStereotype.class);
-	   assert animalStereotype.getDefaultScopeType().annotationType().equals(RequestScoped.class);
-   }
-   
-   @Test @SpecAssertion(section="2.7.1.1")
-   public void testStereotypeWithoutScopeType()
-   {
-	   StereotypeModel<HornedMammalStereotype> animalStereotype = new StereotypeModel<HornedMammalStereotype>(HornedMammalStereotype.class);
-	   assert animalStereotype.getDefaultScopeType() == null;
-   }
-   
-   @Test @SpecAssertion(section="2.7.1.2")
-   public void testStereotypeWithoutInterceptors()
-   {
-      StereotypeModel<AnimalStereotype> animalStereotype = new StereotypeModel<AnimalStereotype>(AnimalStereotype.class);
-      assert animalStereotype.getInterceptorBindings().size() == 0;
-   }
-   
-   @Test(groups={"stub", "interceptors"}) @SpecAssertion(section="2.7.1.2")
-   public void testStereotypeWithInterceptors()
-   {
-      assert false;
-   }
-   
-   @Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.1.1")
-   public void testStereotypeWithTooManyScopeTypes()
-   {
-      new StereotypeModel<StereotypeWithTooManyScopeTypes>(StereotypeWithTooManyScopeTypes.class);
-   }
-   
-   @Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.1.1")
-   public void testStereotypeWithTooManyDeploymentTypes()
-   {
-      new StereotypeModel<StereotypeWithTooManyDeploymentTypes>(StereotypeWithTooManyDeploymentTypes.class);
-   }
-   
-   @Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.1.3")
-   public void testStereotypeWithNonEmptyNamed()
-   {
-      new StereotypeModel<StereotypeWithNonEmptyNamed>(StereotypeWithNonEmptyNamed.class);
-   }
-   
-   @Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section="2.7.1")
-   public void testStereotypeWithBindingTypes()
-   {
-      new StereotypeModel<StereotypeWithBindingTypes>(StereotypeWithBindingTypes.class);
-   }
-   
-   @Test @SpecAssertion(section={"2.7.2", "2.7.4"})
-   public void testMultipleStereotypes()
-   {
-      SimpleBean<HighlandCow> highlandCow = SimpleBean.of(HighlandCow.class, manager);
-      assert highlandCow.getName() == null;
-      assert highlandCow.getBindings().iterator().next().annotationType().equals(Tame.class);
-      assert highlandCow.getScopeType().equals(RequestScoped.class);
-      assert highlandCow.getMergedStereotypes().getRequiredTypes().size() == 1;
-      assert highlandCow.getMergedStereotypes().getRequiredTypes().contains(Animal.class);
-      assert highlandCow.getMergedStereotypes().getSupportedScopes().size() == 1;
-      assert highlandCow.getMergedStereotypes().getSupportedScopes().contains(RequestScoped.class);
-      assert highlandCow.getDeploymentType().equals(HornedAnimalDeploymentType.class);
-   }
-   
-   @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.7.3")
-   public void testStereotypeDeclaredInXmlIgnoresJavaStereotypes()
-   {
-      //Map<Class<? extends Annotation>, Annotation> cooXmlAnnotations = new HashMap<Class<? extends Annotation>, Annotation>();
-      //cooXmlAnnotations.put(HornedMammalStereotype.class, new HornedMamalStereotypeAnnotationLiteral());
-      //AnnotatedClass<HighlandCow> cooXmlAnnotatedItem = new SimpleAnnotatedClass<HighlandCow>(HighlandCow.class, cooXmlAnnotations);
-      
-      /*SimpleBean<HighlandCow> coo = createSimpleBean(HighlandCow.class, cooXmlAnnotatedItem, manager);
-      assert coo.getDeploymentType().equals(HornedAnimalDeploymentType.class);
-      assert coo.getScopeType().equals(RequestScoped.class);
-      assert coo.getMergedStereotypes().getRequiredTypes().size() == 1;
-      assert coo.getMergedStereotypes().getRequiredTypes().contains(Animal.class);
-      assert coo.getMergedStereotypes().getSupportedScopes().size() == 0;*/
-      assert false;
-   }
-   
-   @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.7.3")
-   public void testStereotypeDeclaredInXmlIgnoresJavaBindingTypes()
-   {
-      //Map<Class<? extends Annotation>, Annotation> cooXmlAnnotations = new HashMap<Class<? extends Annotation>, Annotation>();
-      //cooXmlAnnotations.put(HornedMammalStereotype.class, new HornedMamalStereotypeAnnotationLiteral());
-      //cooXmlAnnotations.put(Synchronous.class, new SynchronousAnnotationLiteral());
-      //AnnotatedClass<HighlandCow> cooXmlAnnotatedItem = new SimpleAnnotatedClass<HighlandCow>(HighlandCow.class, cooXmlAnnotations);
-      
-      /*SimpleBean<HighlandCow> coo = createSimpleBean(HighlandCow.class, cooXmlAnnotatedItem, manager);
-      assert coo.getBindingTypes().size() == 1;
-      assert coo.getBindingTypes().contains(new SynchronousAnnotationLiteral());*/
-      assert false;
-      
-   }
-   
-   @Test at SpecAssertion(section={"2.7.1.4", "2.7.4"})
-   public void testRequiredTypeIsImplemented()
-   {
-         SimpleBean.of(HighlandCow.class, manager);
-   }
-   
-   @Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section={"2.7.1.4", "2.7.4"})
-   public void testRequiredTypeIsNotImplemented()
-   {
-      SimpleBean.of(Chair.class, manager);      
-   }
-   
-   @Test @SpecAssertion(section={"2.7.1.4", "2.7.4"})
-   public void testScopeIsSupported()
-   {
-      SimpleBean.of(Goldfish.class, manager);
-   }
-   
-   @Test(expectedExceptions=DefinitionException.class) @SpecAssertion(section={"2.7.1.4", "2.7.4"})
-   public void testScopeIsNotSupported()
-   {
-      SimpleBean.of(Carp.class, manager);    
-   }
-   
-   // TODO Stereotype inheritance tests
-   
-}

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ApplicationContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ApplicationContextTest.java	2009-01-16 20:28:23 UTC (rev 1036)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ApplicationContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -1,92 +0,0 @@
-package org.jboss.webbeans.test.contexts;
-
-import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.test.SpecAssertion;
-import org.jboss.webbeans.test.SpecVersion;
-import org.testng.annotations.Test;
-
- at SpecVersion("20081206")
-public class ApplicationContextTest extends AbstractTest
-{
-
-   /**
-    * The application scope is active during the service() method of any servlet
-    * in the web application.
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringServiceMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The application scope is active during any Java EE web service invocation.
-    */
-   @Test(groups = { "stub", "contexts", "webservice" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringWebSericeInvocation()
-   {
-      assert false;
-   }
-
-   /**
-    * The application scope is also active during any remote method invocation
-    * of any EJB bean, during any call to an EJB timeout method and during
-    * message delivery to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringRemoteMethodInvocationOfEjb()
-   {
-      assert false;
-   }
-
-   /**
-    * The application scope is also active during any remote method invocation
-    * of any EJB bean, during any call to an EJB timeout method and during
-    * message delivery to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringCallToEjbTimeoutMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The application scope is also active during any remote method invocation
-    * of any EJB bean, during any call to an EJB timeout method and during
-    * message delivery to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeActiveDuringEjbMessageDelivery()
-   {
-      assert false;
-   }
-
-   /**
-    * The application context is shared between all servlet requests, web
-    * service invocations, EJB remote method invocations, EJB timeouts and
-    * message deliveries to message driven beans that execute within the same
-    * application
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationContextSharedBetweenInvokationsInApplication()
-   {
-      assert false;
-   }
-
-   /**
-    * The application context is destroyed when the application is undeployed.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.3")
-   public void testApplicationScopeDestroyedWhenApplicationIsUndeployed()
-   {
-      assert false;
-   }
-
-}

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ContextManagement.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ContextManagement.java	2009-01-16 20:28:23 UTC (rev 1036)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ContextManagement.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -1,75 +0,0 @@
-package org.jboss.webbeans.test.contexts;
-
-import javax.webbeans.ContextNotActiveException;
-
-import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.test.SpecAssertion;
-import org.jboss.webbeans.test.SpecVersion;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Nicklas Karlsson
- * 
- */
- at SpecVersion("20081206")
-public class ContextManagement extends AbstractTest
-{
-   /**
-    * For each of the built-in normal scopes, contexts propagate across any Java
-    * method call, including invocation of EJB local business methods.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6")
-   public void testBuiltInNormalScopedContextsPropagateAcrossAnyJavaMethodCall()
-   {
-      assert false;
-   }
-
-   /**
-    * The built-in contexts do not propagate across remote method invocations or
-    * to asynchronous processes such as JMS message listeners or EJB timer
-    * service timeouts
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6")
-   public void testBuiltInNormalScopedContextsDoNotPropagateAcrossRemoteMethodInvocations()
-   {
-      assert false;
-   }
-
-   /**
-    * The built-in contexts do not propagate across remote method invocations or
-    * to asynchronous processes such as JMS message listeners or EJB timer
-    * service timeouts
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6")
-   public void testBuiltInNormalScopedContextsDoNotPropagateAcrossAsynchronousMethodInvocations()
-   {
-      assert false;
-   }
-
-   /**
-    * If no active context object exists for the given scope type, getContext()
-    * must throw a ContextNotActiveException.
-    */
-   @Test(groups = { "stub", "contexts" }, expectedExceptions = ContextNotActiveException.class)
-   @SpecAssertion(section = "9.7")
-   public void testGettingContextNotActiveFails()
-   {
-      assert false;
-   }
-
-   /**
-    * If more than one active context object exists for the given scope type,
-    * getContext() must throw an IllegalStateException.
-    */
-   @Test(groups = { "stub", "contexts" }, expectedExceptions = ContextNotActiveException.class)
-   @SpecAssertion(section = "9.7")
-   public void testGettingContextWithTooManyActiveFails()
-   {
-      assert false;
-   }
-
-}
\ No newline at end of file

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ConversationContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ConversationContextTest.java	2009-01-16 20:28:23 UTC (rev 1036)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/ConversationContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -1,231 +0,0 @@
-package org.jboss.webbeans.test.contexts;
-
-import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.test.SpecAssertion;
-import org.jboss.webbeans.test.SpecVersion;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Nicklas Karlsson
- * 
- */
- at SpecVersion("20081206")
-public class ConversationContextTest extends AbstractTest
-{
-   /**
-    * For a JSF faces request, the context is active from the beginning of the
-    * apply request values phase, until the response is complete.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testContextActiveFromBeginningOfApplyRequestValuesPhasetoResponseCompleteForJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * For a JSF non-faces request, the context is active during the render
-    * response phase
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testContextActiveDuringRenderResponsePhaseForNonFacesJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * Any JSF request has exactly one associated conversation
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testJsfRequestHasExactlyOneAssociatedConversation()
-   {
-      assert false;
-   }
-
-   /**
-    * The conversation associated with a JSF request is determined at the end of
-    * the restore view phase and does not change during the request
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testAssociatedConversationOfJsfRequestIsDeterminedAtEndOfRestoreViewPhase()
-   {
-      assert false;
-   }
-
-   /**
-    * The conversation associated with a JSF request is determined at the end of
-    * the restore view phase and does not change during the request
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testAssociatedConversationOfJsfRequestDoesNotChangeDuringRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * By default, a conversation is transient
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testDefaultConversationIsTransient()
-   {
-      assert false;
-   }
-
-   /**
-    * All long-running conversations have a string-valued unique identifier
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testConversationsHaveUniqueStringIdentifiers()
-   {
-      assert false;
-   }
-
-   /**
-    * If the conversation associated with the current JSF request is in the
-    * transient state at the end of a JSF request, it is destroyed, and the
-    * conversation context is also destroyed.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testTransientConversationIsDestroyedAtEndOfJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * If the conversation associated with the current JSF request is in the
-    * transient state at the end of a JSF request, it is destroyed, and the
-    * conversation context is also destroyed.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testTransientConversationContextIsDestroyedAtEndOfJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * If the conversation associated with the current JSF request is in the
-    * long-running state at the end of a JSF request, it is not destroyed
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationNotDestroyedAtEndOfJsfRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * The long-running conversation context associated with a request that
-    * renders a JSF view is automatically propagated to any faces request (JSF
-    * form submission) that originates from that rendered page.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationOfJsfRenderingRequestIsPropagatedToRequestFromRenderedPage()
-   {
-      assert false;
-   }
-
-   /**
-    * The long-running conversation context associated with a request that
-    * results in a JSF redirect (via a navigation rule) is automatically
-    * propagated to the resulting non-faces request, and to any other subsequent
-    * request to the same URL. This is accomplished via use of a GET request
-    * parameter named cid containing the unique identifier of the conversation.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationOfJsfRedirectIsPropagatedToNonFacesRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * The long-running conversation associated with a request may be propagated
-    * to any non-faces request via use of a GET request parameter named cid
-    * containing the unique identifier of the conversation. In this case, the
-    * application must manage this request parameter
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationManuallyPropagatedToNonFacesRequest()
-   {
-      assert false;
-   }
-
-   /**
-    * When no conversation is propagated to a JSF request, the request is
-    * associated with a new transient conversation.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testNewTransientRequestIsCreatedWhenNoConversationIsPropagated()
-   {
-      assert false;
-   }
-
-   /**
-    * All long-running conversations are scoped to a particular HTTP servlet
-    * session and may not cross session boundaries
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testLongRunningConversationsMayNotCrossHttpSessions()
-   {
-      assert false;
-   }
-
-   /**
-    * When the HTTP servlet session is invalidated, all long-running
-    * conversation contexts created during the current session are destroyed
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testAllLongRunningConversationContextsOfInvalidatedHttpSessionAreDestroyed()
-   {
-      assert false;
-   }
-
-   /**
-    * The Web Bean manager is permitted to arbitrarily destroy any long-running
-    * conversation that is associated with no current JSF request, in order to
-    * conserve resources
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testManagerCanDestroyOrphanedLongRunningConversations()
-   {
-      assert false;
-   }
-
-   /**
-    * If the propagated conversation cannot be restored, the request is
-    * associated with a new transient conversation
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testNewTransientConversationIsCreatedWhenConversationCannotBeRestored()
-   {
-      assert false;
-   }
-
-   /**
-    * The Web Bean manager ensures that a long-running conversation may be
-    * associated with at most one request at a time, by blocking or rejecting
-    * concurrent requests.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.4")
-   public void testConcurrentRequestsToLongRunningConversationsAreHandled()
-   {
-      assert false;
-   }
-}
\ No newline at end of file

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/DependentContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/DependentContextTest.java	2009-01-16 20:28:23 UTC (rev 1036)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/DependentContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -1,578 +0,0 @@
-package org.jboss.webbeans.test.contexts;
-
-import java.lang.reflect.Method;
-
-import javax.webbeans.ContextNotActiveException;
-import javax.webbeans.Dependent;
-import javax.webbeans.manager.Bean;
-
-import org.jboss.webbeans.bean.ProducerMethodBean;
-import org.jboss.webbeans.bean.SimpleBean;
-import org.jboss.webbeans.context.DependentContext;
-import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.test.SpecAssertion;
-import org.jboss.webbeans.test.SpecVersion;
-import org.jboss.webbeans.test.beans.Fox;
-import org.jboss.webbeans.test.beans.FoxRun;
-import org.jboss.webbeans.test.beans.SpiderProducer;
-import org.jboss.webbeans.test.beans.Tarantula;
-import org.testng.annotations.Test;
-
- at SpecVersion("20081206")
-public class DependentContextTest extends AbstractTest
-{
-
-   /**
-    * No injected instance of the Web Bean is ever shared between multiple
-    * injection points.
-    */
-   @Test(groups = { "contexts", "injection" })
-   @SpecAssertion(section = "9.4")
-   public void testInstanceNotSharedBetweenInjectionPoints()
-   {
-      Bean<FoxRun> foxRunBean = SimpleBean.of(FoxRun.class, manager);
-      Bean<Fox> foxBean = SimpleBean.of(Fox.class, manager);
-      manager.addBean(foxBean);
-      FoxRun foxRun = foxRunBean.create();
-      assert !foxRun.fox.equals(foxRun.anotherFox);
-   }
-
-   /**
-    * Any instance of the Web Bean that is used to evaluate a Unified EL
-    * expression exists to service that evaluation only.
-    */
-   @Test(groups = { "stub", "contexts", "el" })
-   @SpecAssertion(section = "9.4")
-   public void testInstanceUsedForElEvalutionNotShared()
-   {
-      assert false;
-   }
-
-   /**
-    * Any instance of the Web Bean that receives a producer method, producer
-    * field, disposal method or observer method invocation exists to service
-    * that invocation only
-    */
-   @Test(groups = { "contexts", "producerMethod", "broken" })
-   @SpecAssertion(section = "9.4")
-   public void testInstanceUsedForProducerMethodNotShared() throws Exception
-   {
-      SimpleBean<SpiderProducer> spiderProducer = SimpleBean.of(SpiderProducer.class, manager);
-      manager.addBean(spiderProducer);
-      Method method = SpiderProducer.class.getMethod("produceTarantula");
-      ProducerMethodBean<Tarantula> tarantulaBean = ProducerMethodBean.of(method, spiderProducer, manager);
-      Tarantula tarantula = tarantulaBean.create();
-      Tarantula tarantula2 = tarantulaBean.create();
-      assert tarantula != null;
-      assert tarantula2 != null;
-      assert tarantula != tarantula2;
-   }
-
-   /**
-    * Any instance of the Web Bean that receives a producer method, producer
-    * field, disposal method or observer method invocation exists to service
-    * that invocation only
-    */
-   @Test(groups = { "contexts", "producerMethod", "stub" })
-   @SpecAssertion(section = "9.4")
-   public void testInstanceUsedForProducerFieldNotShared() throws Exception
-   {
-      assert false;
-   }
-
-   /**
-    * Any instance of the Web Bean that receives a producer method, producer
-    * field, disposal method or observer method invocation exists to service
-    * that invocation only
-    */
-   @Test(groups = { "stub", "contexts", "disposalMethod" })
-   @SpecAssertion(section = "9.4")
-   public void testInstanceUsedForDisposalMethodNotShared()
-   {
-      assert false;
-   }
-
-   /**
-    * Any instance of the Web Bean that receives a producer method, producer
-    * field, disposal method or observer method invocation exists to service
-    * that invocation only
-    */
-   @Test(groups = { "stub", "contexts", "observerMethod" })
-   @SpecAssertion(section = "9.4")
-   public void testInstanceUsedForObserverMethodNotShared()
-   {
-      assert false;
-   }
-
-   /**
-    * Every invocation of the get() operation of the Context object for the @Dependent
-    * scope with the value true for the create parameter returns a new instance
-    * of the given Web Bean
-    */
-   @Test(groups = "contexts")
-   @SpecAssertion(section = "9.4")
-   public void testContextGetWithCreateTrueReturnsNewInstance()
-   {
-      Bean<Fox> foxBean = SimpleBean.of(Fox.class, manager);
-      manager.addBean(foxBean);
-      DependentContext context = new DependentContext();
-      context.setActive(true);
-      assert context.get(foxBean, true) != null;
-      assert context.get(foxBean, true) instanceof Fox;
-   }
-
-   /**
-    * Every invocation of the get() operation of the Context object for the @Dependent
-    * scope with the value false for the create parameter returns a null value
-    */
-   @Test(groups = "contexts")
-   @SpecAssertion(section = "9.4")
-   public void testContextGetWithCreateFalseReturnsNull()
-   {
-      Bean<Fox> foxBean = SimpleBean.of(Fox.class, manager);
-      manager.addBean(foxBean);
-      DependentContext context = new DependentContext();
-      context.setActive(true);
-      assert context.get(foxBean, false) == null;
-   }
-
-   /**
-    * The @Dependent scope is inactive except:
-    */
-   @Test(groups = {"contexts"}, expectedExceptions = ContextNotActiveException.class)
-   @SpecAssertion(section = "9.4")
-   public void testContextIsInactive()
-   {
-      manager.getContext(Dependent.class).isActive();
-   }
-
-   /**
-    * when an instance of a Web Bean with scope @Dependent is created by the Web
-    * Bean manager to receive a producer method, producer field, disposal method
-    * or observer method invocation, or
-    */
-   @Test(groups = { "stub", "contexts", "producerMethod" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveWhenInvokingProducerMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * when an instance of a Web Bean with scope @Dependent is created by the Web
-    * Bean manager to receive a producer method, producer field, disposal method
-    * or observer method invocation, or
-    */
-   @Test(groups = { "stub", "contexts", "producerField" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveWhenInvokingProducerField()
-   {
-      assert false;
-   }
-
-   /**
-    * when an instance of a Web Bean with scope @Dependent is created by the Web
-    * Bean manager to receive a producer method, producer field, disposal method
-    * or observer method invocation, or
-    */
-   @Test(groups = { "stub", "contexts", "disposalMethod" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveWhenInvokingDisposalMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * when an instance of a Web Bean with scope @Dependent is created by the Web
-    * Bean manager to receive a producer method, producer field, disposal method
-    * or observer method invocation, or
-    */
-   @Test(groups = { "stub", "contexts", "observerMethod" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveWhenInvokingObserverMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * while a Unified EL expression is evaluated, or
-    */
-   @Test(groups = { "stub", "contexts", "el" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveWhenEvaluatingElExpression()
-   {
-      assert false;
-   }
-
-   /**
-    * when the Web Bean manager is creating or destroying a Web Bean instance or
-    * injecting its dependencies, or
-    */
-   @Test(groups = { "contexts", "beanLifecycle" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveDuringBeanCreation()
-   {
-      // Slightly roundabout, but I can't see a better way to test atm
-      Bean<FoxRun> foxRunBean = SimpleBean.of(FoxRun.class, manager);
-      Bean<Fox> foxBean = SimpleBean.of(Fox.class, manager);
-      manager.addBean(foxBean);
-      FoxRun foxRun = foxRunBean.create();
-      assert foxRun.fox != null;
-   }
-
-   /**
-    * when the Web Bean manager is creating or destroying a Web Bean instance or
-    * injecting its dependencies, or
-    */
-   @Test(groups = { "stub", "contexts", "beanDestruction" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveDuringBeanDestruction()
-   {
-      assert false;
-   }
-
-   /**
-    * when the Web Bean manager is creating or destroying a Web Bean instance or
-    * injecting its dependencies, or
-    */
-   @Test(groups = { "contexts", "injection" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveDuringInjection()
-   {
-      Bean<FoxRun> foxRunBean = SimpleBean.of(FoxRun.class, manager);
-      Bean<Fox> foxBean = SimpleBean.of(Fox.class, manager);
-      manager.addBean(foxBean);
-      FoxRun foxRun = foxRunBean.create();
-      assert foxRun.fox != null;
-   }
-
-   /**
-    * when the Web Bean manager is injecting dependencies of an EJB bean or
-    * Servlet or when an EJB bean @PostConstruct or @PreDestroy callback is
-    * invoked by the EJB container
-    */
-   @Test(groups = { "contexts", "injection", "stub", "ejb3" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveDuringEJBDependencyInjection()
-   {
-      assert false;
-   }
-
-   /**
-    * when the Web Bean manager is injecting dependencies of an EJB bean or
-    * Servlet or when an EJB bean @PostConstruct or @PreDestroy callback is
-    * invoked by the EJB container
-    */
-   @Test(groups = { "contexts", "injection", "stub", "servlet" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveDuringServletDependencyInjection()
-   {
-      assert false;
-   }
-
-   /**
-    * when the Web Bean manager is injecting dependencies of an EJB bean or
-    * Servlet or when an EJB bean @PostConstruct or @PreDestroy callback is
-    * invoked by the EJB container
-    */
-   @Test(groups = { "contexts", "postconstruct", "stub", "ejb3" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveDuringEJBPostConstruct()
-   {
-      assert false;
-   }
-
-   /**
-    * when the Web Bean manager is injecting dependencies of an EJB bean or
-    * Servlet or when an EJB bean @PostConstruct or @PreDestroy callback is
-    * invoked by the EJB container
-    */
-   @Test(groups = { "contexts", "predestroy", "stub", "ejb3" })
-   @SpecAssertion(section = "9.4")
-   public void testContextIsActiveDuringEJBPreDestroy()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "constructor" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromConstructor()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "removeMethod" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromRemoveMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "initalizerMethod" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromInitializerMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "producerMethod" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromProducerMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "disposalMethod" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromDisposalMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "preDestroy" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromPreDestroy()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "postConstruct" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromPostConstruct()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "interceptor" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromInterceptorOfActiveMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from the Web Bean constructor, from the
-    * Web Bean remove method, from initializer methods, from producer methods,
-    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
-    * from Web Beans interceptors or decorators for any of these methods
-    */
-   @Test(groups = { "stub", "contexts", "decorator" })
-   @SpecAssertion(section = "9.4.1")
-   public void testWebBeanMayCreateInstanceFromDecoratorOfActiveMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * An EJB bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from initializer methods, from @PostConstruct
-    * and @PreDestroy callbacks and from Web Beans interceptors for these
-    * methods.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3", "initializerMethod" })
-   @SpecAssertion(section = "9.4.1")
-   public void testEjbBeanMayCreateInstanceFromInitializer()
-   {
-      assert false;
-   }
-
-   /**
-    * An EJB bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from initializer methods, from @PostConstruct
-    * and @PreDestroy callbacks and from Web Beans interceptors for these
-    * methods.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3", "postConstruct" })
-   @SpecAssertion(section = "9.4.1")
-   public void testEjbBeanMayCreateInstanceFromPostConstruct()
-   {
-      assert false;
-   }
-
-   /**
-    * An EJB bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from initializer methods, from @PostConstruct
-    * and @PreDestroy callbacks and from Web Beans interceptors for these
-    * methods.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3", "preDestroy" })
-   @SpecAssertion(section = "9.4.1")
-   public void testEjbBeanMayCreateInstanceFromPreDestroy()
-   {
-      assert false;
-   }
-
-   /**
-    * An EJB bean may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from initializer methods, from @PostConstruct
-    * and @PreDestroy callbacks and from Web Beans interceptors for these
-    * methods.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3", "interceptor" })
-   @SpecAssertion(section = "9.4.1")
-   public void testEjbBeanMayCreateInstanceFromInterceptorOfActiveMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * A Servlet may create an instance of a Web Bean with scope type @Dependent
-    * by calling Manager.getInstance() from initializer methods
-    */
-   @Test(groups = { "stub", "contexts", "servlet", "initializerMethod" })
-   @SpecAssertion(section = "9.4.1")
-   public void testServletBeanMayCreateInstanceFromInitializer()
-   {
-      assert false;
-   }
-
-   /**
-    * destroy all dependent objects of a Web Bean instance when the instance is
-    * destroyed,
-    */
-   @Test(groups = { "stub", "contexts", "beanDestruction" })
-   @SpecAssertion(section = "9.4.2")
-   public void testDestroyingParentDestroysDependents()
-   {
-      assert false;
-   }
-
-   /**
-    * destroy all dependent objects of an EJB bean or Servlet when the EJB bean
-    * or Servlet is destroyed,
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.4.2")
-   public void testDestroyingEjbDestroysDependents()
-   {
-      assert false;
-   }
-
-   /**
-    * destroy all dependent objects of an EJB bean or Servlet when the EJB bean
-    * or Servlet is destroyed,
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.4.2")
-   public void testDestroyingServletDestroysDependents()
-   {
-      assert false;
-   }
-
-   /**
-    * destroy all @Dependent scoped contextual instances created during an EL
-    * expression evaluation when the evaluation completes, and
-    */
-   @Test(groups = { "stub", "contexts", "el" })
-   @SpecAssertion(section = "9.4.2")
-   public void testDependentsDestroyedWhenElEvaluationCompletes()
-   {
-      assert false;
-   }
-
-   /**
-    * destroy any @Dependent scoped contextual instance created to receive a
-    * producer method, producer field, disposal method or observer method
-    * invocation when the invocation completes
-    */
-   @Test(groups = { "stub", "contexts", "producerMethod" })
-   @SpecAssertion(section = "9.4.2")
-   public void testDependentsDestroyedWhenProducerMethodCompletes()
-   {
-      assert false;
-   }
-   
-   /**
-    * destroy any @Dependent scoped contextual instance created to receive a
-    * producer method, producer field, disposal method or observer method
-    * invocation when the invocation completes
-    */
-   @Test(groups = { "stub", "contexts", "producerField" })
-   @SpecAssertion(section = "9.4.2")
-   public void testDependentsDestroyedWhenProducerFieldCompletes()
-   {
-      assert false;
-   }
-
-   /**
-    * destroy any @Dependent scoped contextual instance created to receive a
-    * producer method, producer field, disposal method or observer method
-    * invocation when the invocation completes
-    */
-   @Test(groups = { "stub", "contexts", "disposalMethod" })
-   @SpecAssertion(section = "9.4.2")
-   public void testDependentsDestroyedWhenDisposalMethodCompletes()
-   {
-      assert false;
-   }
-   
-   /**
-    * destroy any @Dependent scoped contextual instance created to receive a
-    * producer method, producer field, disposal method or observer method
-    * invocation when the invocation completes
-    */
-   @Test(groups = { "stub", "contexts", "observerMethod" })
-   @SpecAssertion(section = "9.4")
-   public void testDependentsDestroyedWhenObserverMethodEvaluationCompletes()
-   {
-      assert false;
-   }
-
-}

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java	2009-01-16 20:28:23 UTC (rev 1036)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/NormalContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -1,174 +0,0 @@
-package org.jboss.webbeans.test.contexts;
-
-import javax.webbeans.manager.Context;
-
-import org.jboss.webbeans.context.RequestContext;
-import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.test.SpecAssertion;
-import org.jboss.webbeans.test.SpecVersion;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Nicklas Karlsson
- * @author Pete Muir
- * 
- *         This class tests a basic context against section 8 of the
- *         specification
- * 
- */
- at SpecVersion("20081206")
-public class NormalContextTest extends AbstractTest
-{
-   Context context;
-
-   @BeforeMethod
-   public void initContext()
-   {
-      context = new RequestContext()
-      {
-      };
-   }
-
-   /**
-    * return an existing instance of the given contextual type, or
-    */
-   @Test(groups = { "contexts", "stub" })
-   @SpecAssertion(section = "9.2")
-   public void testGetReturnsExistingInstace()
-   {
-      assert false;
-   }
-
-   /**
-    * if the value of the create parameter is false, return a null value, or
-    */
-   @Test(groups = { "contexts", "stub" })
-   @SpecAssertion(section = "9.2")
-   public void testGetWithCreateFalseReturnsNull()
-   {
-      assert false;
-   }
-
-   /**
-    * if the value of the create parameter is true, create a new instance of the
-    * given contextual type by calling Bean.create() and return the new
-    * instance.
-    */
-   @Test(groups = { "contexts", "stub" })
-   @SpecAssertion(section = "9.2")
-   public void testGetWithCreateTrueReturnsNewInstance()
-   {
-      assert false;
-   }
-
-   /**
-    * The get() method may not return a null value unless the create parameter
-    * is false or Contextual.create() returns a null value
-    */
-   @Test(groups = { "contexts", "stub" })
-   @SpecAssertion(section = "9.2")
-   public void testGetMayNotReturnNullUnlessCreateIsFalseOrContextualCreateReturnsNull()
-   {
-      assert false;
-   }
-
-   /**
-    * The get() method may not create a new instance of the given contextual
-    * type unless the create parameter is true
-    */
-   @Test(groups = { "contexts", "stub" })
-   @SpecAssertion(section = "9.2")
-   public void testGetMayNotCreateNewInstanceUnlessCreateIsTrue()
-   {
-      assert false;
-   }
-
-   /**
-    * The Context implementation is responsible for destroying any contextual
-    * instance it creates by passing the instance to the destroy() method of the
-    * Contextual object representing the contextual type.
-    */
-   public void testContextDestroysBeansWhenDestroyed()
-   {
-      assert false;
-   }
-
-   /**
-    * A destroyed instance must not subsequently be returned by the get()
-    * method.
-    */
-   @Test(groups = { "contexts", "stub" })
-   @SpecAssertion(section = "9.2")
-   public void testDestroyedInstanceMustNotBeReturnedByGet()
-   {
-      assert false;
-   }
-
-   /**
-    * When a scope is inactive, any invocation of the get() from the current
-    * thread upon the Context object for that scope results in a
-    * ContextNotActiveException.
-    */
-   @Test(groups = { "contexts", "stub" })
-   @SpecAssertion(section = "9.2")
-   public void testInvokingGetOnInactiveContextFails()
-   {
-      assert false;
-   }
-
-   /**
-    * There may be no more than one mapped instance per contextual type per
-    * thread
-    */
-   @Test(groups = { "contexts", "stub" })
-   @SpecAssertion(section = "9.3")
-   public void testOnlyMappedInstancePerContextualTypePerThread()
-   {
-      assert false;
-   }
-
-   /*
-    * @Test(groups = "contexts")
-    * 
-    * @SpecAssertion(section = "9.3") public void
-    * testGetWithCreateFalseReturnsNull() { Bean<Tuna> tunaBean =
-    * BeanFactory.createSimpleBean(Tuna.class, manager); assert
-    * context.get(tunaBean, false) == null; }
-    * 
-    * @Test(groups = "contexts")
-    * 
-    * @SpecAssertion(section = "8.1") public void
-    * testGetWithCreateTrueReturnsBean() { Bean<Tuna> tunaBean =
-    * BeanFactory.createSimpleBean(Tuna.class, manager); assert
-    * context.get(tunaBean, true) != null; }
-    * 
-    * @Test(groups = "contexts", expectedExceptions =
-    * ContextNotActiveException.class)
-    * 
-    * @SpecAssertion(section = "8.1") public void
-    * testInactiveContextThrowsContextNotActiveException() { ((AbstractContext)
-    * context).setActive(false); context.get(null, false); assert true; }
-    * 
-    * @Test(groups = "contexts")
-    * 
-    * @SpecAssertion(section = "8.1") public void
-    * testReturnsCorrectExistingBean() { Bean<Tuna> tunaBean =
-    * BeanFactory.createSimpleBean(Tuna.class, manager); Tuna firstTuna =
-    * context.get(tunaBean, true); Tuna secondTuna = context.get(tunaBean,
-    * false); assert firstTuna == secondTuna; }
-    * 
-    * @Test(groups = { "contexts", "producerMethod" })
-    * 
-    * @SpecAssertion(section = "8.1") public void
-    * testProducerMethodReturningNullOK() throws SecurityException,
-    * NoSuchMethodException { SimpleBean<SpiderProducer> producer =
-    * createSimpleBean(SpiderProducer.class, manager);
-    * manager.addBean(producer); Method nullProducer =
-    * SpiderProducer.class.getMethod("produceShelob");
-    * ProducerMethodBean<Tarantula> shelobBean =
-    * createProducerMethodBean(Tarantula.class, nullProducer, producer,
-    * manager); assert shelobBean.create() == null; }
-    */
-}

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/RequestContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/RequestContextTest.java	2009-01-16 20:28:23 UTC (rev 1036)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/RequestContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -1,124 +0,0 @@
-package org.jboss.webbeans.test.contexts;
-
-import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.test.SpecAssertion;
-import org.jboss.webbeans.test.SpecVersion;
-import org.testng.annotations.Test;
-
- at SpecVersion("20081206")
-public class RequestContextTest extends AbstractTest
-{
-
-   /**
-    * The request scope is active during the service() method of any Servlet in
-    * the web application.
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringServiceMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed at the end of the servlet request, after
-    * the Servlet service() method returns.
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeIsDestroyedAfterServiceMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The request scope is active during any Java EE web service invocation.
-    */
-   @Test(groups = { "stub", "contexts", "webservice" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringWebSericeInvocation()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed after the web service invocation
-    * completes
-    */
-   @Test(groups = { "stub", "contexts", "webservice" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeIsDestroyedAfterWebServiceInvocation()
-   {
-      assert false;
-   }
-
-   /**
-    * The request scope is active during any remote method invocation of any EJB
-    * bean, during any call to an EJB timeout method and during message delivery
-    * to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringRemoteMethodInvocationOfEjb()
-   {
-      assert false;
-   }
-
-   /**
-    * The request scope is active during any remote method invocation of any EJB
-    * bean, during any call to an EJB timeout method and during message delivery
-    * to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringCallToEjbTimeoutMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The request scope is active during any remote method invocation of any EJB
-    * bean, during any call to an EJB timeout method and during message delivery
-    * to any EJB message driven bean.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeActiveDuringEjbMessageDelivery()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed after the remote method invocation,
-    * timeout or message delivery completes.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeDestroyedAfterRemoteMethodInvocationOfEjb()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed after the remote method invocation,
-    * timeout or message delivery completes.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeDestroyedAfterCallToEjbTimeoutMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The request context is destroyed after the remote method invocation,
-    * timeout or message delivery completes.
-    */
-   @Test(groups = { "stub", "contexts", "ejb3" })
-   @SpecAssertion(section = "9.6.1")
-   public void testRequestScopeDestroyedAfterEjbMessageDelivery()
-   {
-      assert false;
-   }
-
-}

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/SessionContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/SessionContextTest.java	2009-01-16 20:28:23 UTC (rev 1036)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/contexts/SessionContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -1,45 +0,0 @@
-package org.jboss.webbeans.test.contexts;
-
-import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.test.SpecAssertion;
-import org.jboss.webbeans.test.SpecVersion;
-import org.testng.annotations.Test;
-
- at SpecVersion("2001206")
-public class SessionContextTest extends AbstractTest
-{
-
-   /**
-    * The session scope is active during the service() method of any servlet in
-    * the web application
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.2")
-   public void testSessionScopeActiveDuringServiceMethod()
-   {
-      assert false;
-   }
-
-   /**
-    * The session context is shared between all servlet requests that occur in
-    * the same HTTP servlet session
-    */
-   @Test(groups = { "stub", "contexts", "servlet" })
-   @SpecAssertion(section = "9.6.2")
-   public void testSessionContextSharedBetweenServletRequestsInSameHttpSession()
-   {
-      assert false;
-   }
-
-   /**
-    * The session context is destroyed when the HTTPSession is invalidated or
-    * times out.
-    */
-   @Test(groups = { "stub", "contexts" })
-   @SpecAssertion(section = "9.6.2")
-   public void testSessionContextDestroyedWhenHttpSessionInvalidatedOrTimesOut()
-   {
-      assert false;
-   }
-
-}

Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/StereotypesTest.java (from rev 1036, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/StereotypesTest.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/StereotypesTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,62 @@
+package org.jboss.webbeans.test.unit;
+
+import java.util.Arrays;
+
+import javax.webbeans.RequestScoped;
+
+import org.jboss.webbeans.model.StereotypeModel;
+import org.jboss.webbeans.test.AbstractTest;
+import org.jboss.webbeans.test.SpecVersion;
+import org.jboss.webbeans.test.annotations.AnimalOrderStereotype;
+import org.jboss.webbeans.test.annotations.AnimalStereotype;
+import org.jboss.webbeans.test.annotations.RequestScopedAnimalStereotype;
+import org.jboss.webbeans.test.beans.Animal;
+import org.jboss.webbeans.test.beans.Order;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class StereotypesTest extends AbstractTest
+{
+	
+   @Test
+   public void testAnimalStereotype()
+   {
+      StereotypeModel<AnimalStereotype> animalStereotype = new StereotypeModel<AnimalStereotype>(AnimalStereotype.class);
+      assert animalStereotype.getDefaultScopeType().annotationType().equals(RequestScoped.class);
+      assert animalStereotype.getInterceptorBindings().size() == 0;
+      assert animalStereotype.getRequiredTypes().size() == 1;
+      assert animalStereotype.getRequiredTypes().contains(Animal.class);
+      assert animalStereotype.getSupportedScopes().size() == 0;
+      assert !animalStereotype.isBeanNameDefaulted();
+      assert animalStereotype.getDefaultDeploymentType() == null;
+   }
+   
+   @Test
+   public void testAnimalOrderStereotype()
+   {
+      StereotypeModel<AnimalOrderStereotype> animalStereotype = new StereotypeModel<AnimalOrderStereotype>(AnimalOrderStereotype.class);
+      assert animalStereotype.getDefaultScopeType() == null;
+      assert animalStereotype.getInterceptorBindings().size() == 0;
+      assert animalStereotype.getRequiredTypes().size() == 2;
+      Class<?> [] requiredTypes = {Animal.class, Order.class};
+      assert animalStereotype.getRequiredTypes().containsAll(Arrays.asList(requiredTypes));
+      assert animalStereotype.getSupportedScopes().size() == 0;
+      assert !animalStereotype.isBeanNameDefaulted();
+      assert animalStereotype.getDefaultDeploymentType() == null;
+   }
+   
+   @Test
+   public void testRequestScopedAnimalStereotype()
+   {
+      StereotypeModel<RequestScopedAnimalStereotype> animalStereotype = new StereotypeModel<RequestScopedAnimalStereotype>(RequestScopedAnimalStereotype.class);
+      assert animalStereotype.getDefaultScopeType() == null;
+      assert animalStereotype.getInterceptorBindings().size() == 0;
+      assert animalStereotype.getRequiredTypes().size() == 1;
+      assert Animal.class.equals(animalStereotype.getRequiredTypes().iterator().next());
+      assert animalStereotype.getSupportedScopes().size() == 1;
+      assert animalStereotype.getSupportedScopes().contains(RequestScoped.class);
+      assert !animalStereotype.isBeanNameDefaulted();
+      assert animalStereotype.getDefaultDeploymentType() == null;
+   }
+      
+}


Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/StereotypesTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Animal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Animal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Animal.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.context;
+
+interface Animal
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Animal.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/AnotherDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/AnotherDeploymentType.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at interface AnotherDeploymentType
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/AnotherDeploymentType.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ApplicationContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ApplicationContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ApplicationContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,92 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class ApplicationContextTest extends AbstractTest
+{
+
+   /**
+    * The application scope is active during the service() method of any servlet
+    * in the web application.
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringServiceMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The application scope is active during any Java EE web service invocation.
+    */
+   @Test(groups = { "stub", "contexts", "webservice" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringWebSericeInvocation()
+   {
+      assert false;
+   }
+
+   /**
+    * The application scope is also active during any remote method invocation
+    * of any EJB bean, during any call to an EJB timeout method and during
+    * message delivery to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringRemoteMethodInvocationOfEjb()
+   {
+      assert false;
+   }
+
+   /**
+    * The application scope is also active during any remote method invocation
+    * of any EJB bean, during any call to an EJB timeout method and during
+    * message delivery to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringCallToEjbTimeoutMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The application scope is also active during any remote method invocation
+    * of any EJB bean, during any call to an EJB timeout method and during
+    * message delivery to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeActiveDuringEjbMessageDelivery()
+   {
+      assert false;
+   }
+
+   /**
+    * The application context is shared between all servlet requests, web
+    * service invocations, EJB remote method invocations, EJB timeouts and
+    * message deliveries to message driven beans that execute within the same
+    * application
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationContextSharedBetweenInvokationsInApplication()
+   {
+      assert false;
+   }
+
+   /**
+    * The application context is destroyed when the application is undeployed.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.3")
+   public void testApplicationScopeDestroyedWhenApplicationIsUndeployed()
+   {
+      assert false;
+   }
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ApplicationContextTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/City.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/City.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/City.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.context;
+
+class City
+{
+   public void ping() {
+      
+   }
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/City.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ContextManagementTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ContextManagementTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ContextManagementTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,75 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import javax.webbeans.ContextNotActiveException;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * @author Nicklas Karlsson
+ * 
+ */
+ at SpecVersion("20081206")
+public class ContextManagementTest extends AbstractTest
+{
+   /**
+    * For each of the built-in normal scopes, contexts propagate across any Java
+    * method call, including invocation of EJB local business methods.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6")
+   public void testBuiltInNormalScopedContextsPropagateAcrossAnyJavaMethodCall()
+   {
+      assert false;
+   }
+
+   /**
+    * The built-in contexts do not propagate across remote method invocations or
+    * to asynchronous processes such as JMS message listeners or EJB timer
+    * service timeouts
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6")
+   public void testBuiltInNormalScopedContextsDoNotPropagateAcrossRemoteMethodInvocations()
+   {
+      assert false;
+   }
+
+   /**
+    * The built-in contexts do not propagate across remote method invocations or
+    * to asynchronous processes such as JMS message listeners or EJB timer
+    * service timeouts
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6")
+   public void testBuiltInNormalScopedContextsDoNotPropagateAcrossAsynchronousMethodInvocations()
+   {
+      assert false;
+   }
+
+   /**
+    * If no active context object exists for the given scope type, getContext()
+    * must throw a ContextNotActiveException.
+    */
+   @Test(groups = { "stub", "contexts" }, expectedExceptions = ContextNotActiveException.class)
+   @SpecAssertion(section = "9.7")
+   public void testGettingContextNotActiveFails()
+   {
+      assert false;
+   }
+
+   /**
+    * If more than one active context object exists for the given scope type,
+    * getContext() must throw an IllegalStateException.
+    */
+   @Test(groups = { "stub", "contexts" }, expectedExceptions = ContextNotActiveException.class)
+   @SpecAssertion(section = "9.7")
+   public void testGettingContextWithTooManyActiveFails()
+   {
+      assert false;
+   }
+
+}
\ No newline at end of file


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ContextManagementTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ConversationContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ConversationContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ConversationContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,231 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * @author Nicklas Karlsson
+ * 
+ */
+ at SpecVersion("20081206")
+public class ConversationContextTest extends AbstractTest
+{
+   /**
+    * For a JSF faces request, the context is active from the beginning of the
+    * apply request values phase, until the response is complete.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testContextActiveFromBeginningOfApplyRequestValuesPhasetoResponseCompleteForJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * For a JSF non-faces request, the context is active during the render
+    * response phase
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testContextActiveDuringRenderResponsePhaseForNonFacesJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * Any JSF request has exactly one associated conversation
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testJsfRequestHasExactlyOneAssociatedConversation()
+   {
+      assert false;
+   }
+
+   /**
+    * The conversation associated with a JSF request is determined at the end of
+    * the restore view phase and does not change during the request
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testAssociatedConversationOfJsfRequestIsDeterminedAtEndOfRestoreViewPhase()
+   {
+      assert false;
+   }
+
+   /**
+    * The conversation associated with a JSF request is determined at the end of
+    * the restore view phase and does not change during the request
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testAssociatedConversationOfJsfRequestDoesNotChangeDuringRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * By default, a conversation is transient
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testDefaultConversationIsTransient()
+   {
+      assert false;
+   }
+
+   /**
+    * All long-running conversations have a string-valued unique identifier
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testConversationsHaveUniqueStringIdentifiers()
+   {
+      assert false;
+   }
+
+   /**
+    * If the conversation associated with the current JSF request is in the
+    * transient state at the end of a JSF request, it is destroyed, and the
+    * conversation context is also destroyed.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testTransientConversationIsDestroyedAtEndOfJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * If the conversation associated with the current JSF request is in the
+    * transient state at the end of a JSF request, it is destroyed, and the
+    * conversation context is also destroyed.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testTransientConversationContextIsDestroyedAtEndOfJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * If the conversation associated with the current JSF request is in the
+    * long-running state at the end of a JSF request, it is not destroyed
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationNotDestroyedAtEndOfJsfRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * The long-running conversation context associated with a request that
+    * renders a JSF view is automatically propagated to any faces request (JSF
+    * form submission) that originates from that rendered page.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationOfJsfRenderingRequestIsPropagatedToRequestFromRenderedPage()
+   {
+      assert false;
+   }
+
+   /**
+    * The long-running conversation context associated with a request that
+    * results in a JSF redirect (via a navigation rule) is automatically
+    * propagated to the resulting non-faces request, and to any other subsequent
+    * request to the same URL. This is accomplished via use of a GET request
+    * parameter named cid containing the unique identifier of the conversation.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationOfJsfRedirectIsPropagatedToNonFacesRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * The long-running conversation associated with a request may be propagated
+    * to any non-faces request via use of a GET request parameter named cid
+    * containing the unique identifier of the conversation. In this case, the
+    * application must manage this request parameter
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationManuallyPropagatedToNonFacesRequest()
+   {
+      assert false;
+   }
+
+   /**
+    * When no conversation is propagated to a JSF request, the request is
+    * associated with a new transient conversation.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testNewTransientRequestIsCreatedWhenNoConversationIsPropagated()
+   {
+      assert false;
+   }
+
+   /**
+    * All long-running conversations are scoped to a particular HTTP servlet
+    * session and may not cross session boundaries
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testLongRunningConversationsMayNotCrossHttpSessions()
+   {
+      assert false;
+   }
+
+   /**
+    * When the HTTP servlet session is invalidated, all long-running
+    * conversation contexts created during the current session are destroyed
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testAllLongRunningConversationContextsOfInvalidatedHttpSessionAreDestroyed()
+   {
+      assert false;
+   }
+
+   /**
+    * The Web Bean manager is permitted to arbitrarily destroy any long-running
+    * conversation that is associated with no current JSF request, in order to
+    * conserve resources
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testManagerCanDestroyOrphanedLongRunningConversations()
+   {
+      assert false;
+   }
+
+   /**
+    * If the propagated conversation cannot be restored, the request is
+    * associated with a new transient conversation
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testNewTransientConversationIsCreatedWhenConversationCannotBeRestored()
+   {
+      assert false;
+   }
+
+   /**
+    * The Web Bean manager ensures that a long-running conversation may be
+    * associated with at most one request at a time, by blocking or rejecting
+    * concurrent requests.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.4")
+   public void testConcurrentRequestsToLongRunningConversationsAreHandled()
+   {
+      assert false;
+   }
+}
\ No newline at end of file


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/ConversationContextTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlyAnimal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlyAnimal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlyAnimal.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.context;
+
+interface DeadlyAnimal
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlyAnimal.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlySpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlySpider.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlySpider.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.context;
+
+interface DeadlySpider extends DeadlyAnimal
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DeadlySpider.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DependentContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DependentContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DependentContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,601 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import java.lang.reflect.Method;
+import java.util.Set;
+
+import javax.webbeans.ContextNotActiveException;
+import javax.webbeans.Dependent;
+import javax.webbeans.manager.Bean;
+import javax.webbeans.manager.Context;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class DependentContextTest extends AbstractTest
+{
+
+   /**
+    * No injected instance of the Web Bean is ever shared between multiple
+    * injection points.
+    */
+   @Test(groups = { "contexts", "injection" })
+   @SpecAssertion(section = "9.4")
+   public void testInstanceNotSharedBetweenInjectionPoints()
+   {
+      deployBeans(Fox.class, FoxRun.class);
+      Set<Bean<Fox>> foxBeans = manager.resolveByType(Fox.class);
+      assert foxBeans.size() == 1;
+      Bean<Fox> foxBean = foxBeans.iterator().next();
+      Set<Bean<FoxRun>> foxRunBeans = manager.resolveByType(FoxRun.class);
+      assert foxRunBeans.size() == 1;
+      Bean<FoxRun> foxRunBean = foxRunBeans.iterator().next();
+      manager.addBean(foxBean);
+      FoxRun foxRun = foxRunBean.create();
+      assert !foxRun.fox.equals(foxRun.anotherFox);
+   }
+
+   /**
+    * Any instance of the Web Bean that is used to evaluate a Unified EL
+    * expression exists to service that evaluation only.
+    */
+   @Test(groups = { "stub", "contexts", "el" })
+   @SpecAssertion(section = "9.4")
+   public void testInstanceUsedForElEvalutionNotShared()
+   {
+      assert false;
+   }
+
+   /**
+    * Any instance of the Web Bean that receives a producer method, producer
+    * field, disposal method or observer method invocation exists to service
+    * that invocation only
+    */
+   @Test(groups = { "contexts", "producerMethod", "broken" })
+   @SpecAssertion(section = "9.4")
+   public void testInstanceUsedForProducerMethodNotShared() throws Exception
+   {
+      Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
+      manager.addBean(spiderProducer);
+      Method method = SpiderProducer.class.getMethod("produceTarantula");
+      Bean<Tarantula> tarantulaBean = createProducerMethodBean(method, spiderProducer);
+      Tarantula tarantula = tarantulaBean.create();
+      Tarantula tarantula2 = tarantulaBean.create();
+      assert tarantula != null;
+      assert tarantula2 != null;
+      assert tarantula != tarantula2;
+   }
+
+   /**
+    * Any instance of the Web Bean that receives a producer method, producer
+    * field, disposal method or observer method invocation exists to service
+    * that invocation only
+    */
+   @Test(groups = { "contexts", "producerMethod", "stub" })
+   @SpecAssertion(section = "9.4")
+   public void testInstanceUsedForProducerFieldNotShared() throws Exception
+   {
+      assert false;
+   }
+
+   /**
+    * Any instance of the Web Bean that receives a producer method, producer
+    * field, disposal method or observer method invocation exists to service
+    * that invocation only
+    */
+   @Test(groups = { "stub", "contexts", "disposalMethod" })
+   @SpecAssertion(section = "9.4")
+   public void testInstanceUsedForDisposalMethodNotShared()
+   {
+      assert false;
+   }
+
+   /**
+    * Any instance of the Web Bean that receives a producer method, producer
+    * field, disposal method or observer method invocation exists to service
+    * that invocation only
+    */
+   @Test(groups = { "stub", "contexts", "observerMethod" })
+   @SpecAssertion(section = "9.4")
+   public void testInstanceUsedForObserverMethodNotShared()
+   {
+      assert false;
+   }
+
+   /**
+    * Every invocation of the get() operation of the Context object for the @Dependent
+    * scope with the value true for the create parameter returns a new instance
+    * of the given Web Bean
+    */
+   @Test(groups = "contexts")
+   @SpecAssertion(section = "9.4")
+   public void testContextGetWithCreateTrueReturnsNewInstance() throws Exception 
+   {
+      deployBeans(Fox.class);
+      new RunInDependentContext()
+      {
+         
+         @Override
+         protected void execute() throws Exception
+         {
+            Set<Bean<Fox>> foxBeans = manager.resolveByType(Fox.class);
+            assert foxBeans.size() == 1;
+            Bean<Fox> foxBean = foxBeans.iterator().next();
+            Context context = manager.getContext(Dependent.class);
+            assert context.get(foxBean, true) != null;
+            assert context.get(foxBean, true) instanceof Fox;
+         }
+         
+      }.run();
+      
+   }
+
+   /**
+    * Every invocation of the get() operation of the Context object for the @Dependent
+    * scope with the value false for the create parameter returns a null value
+    */
+   @Test(groups = "contexts")
+   @SpecAssertion(section = "9.4")
+   public void testContextGetWithCreateFalseReturnsNull() throws Exception
+   {
+      deployBeans(Fox.class);
+      new RunInDependentContext()
+      {
+         
+         @Override
+         protected void execute() throws Exception
+         {
+            Set<Bean<Fox>> foxBeans = manager.resolveByType(Fox.class);
+            assert foxBeans.size() == 1;
+            Bean<Fox> foxBean = foxBeans.iterator().next();
+            Context context = manager.getContext(Dependent.class);
+            assert context.get(foxBean, false) == null;
+         }
+         
+      }.run();
+      
+      
+   }
+
+   /**
+    * The @Dependent scope is inactive except:
+    */
+   @Test(groups = {"contexts"}, expectedExceptions = ContextNotActiveException.class)
+   @SpecAssertion(section = "9.4")
+   public void testContextIsInactive()
+   {
+      manager.getContext(Dependent.class).isActive();
+   }
+
+   /**
+    * when an instance of a Web Bean with scope @Dependent is created by the Web
+    * Bean manager to receive a producer method, producer field, disposal method
+    * or observer method invocation, or
+    */
+   @Test(groups = { "stub", "contexts", "producerMethod" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveWhenInvokingProducerMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * when an instance of a Web Bean with scope @Dependent is created by the Web
+    * Bean manager to receive a producer method, producer field, disposal method
+    * or observer method invocation, or
+    */
+   @Test(groups = { "stub", "contexts", "producerField" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveWhenInvokingProducerField()
+   {
+      assert false;
+   }
+
+   /**
+    * when an instance of a Web Bean with scope @Dependent is created by the Web
+    * Bean manager to receive a producer method, producer field, disposal method
+    * or observer method invocation, or
+    */
+   @Test(groups = { "stub", "contexts", "disposalMethod" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveWhenInvokingDisposalMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * when an instance of a Web Bean with scope @Dependent is created by the Web
+    * Bean manager to receive a producer method, producer field, disposal method
+    * or observer method invocation, or
+    */
+   @Test(groups = { "stub", "contexts", "observerMethod" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveWhenInvokingObserverMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * while a Unified EL expression is evaluated, or
+    */
+   @Test(groups = { "stub", "contexts", "el" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveWhenEvaluatingElExpression()
+   {
+      assert false;
+   }
+
+   /**
+    * when the Web Bean manager is creating or destroying a Web Bean instance or
+    * injecting its dependencies, or
+    */
+   @Test(groups = { "contexts", "beanLifecycle" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveDuringBeanCreation()
+   {
+      // Slightly roundabout, but I can't see a better way to test atm
+      Bean<FoxRun> foxRunBean = createSimpleBean(FoxRun.class);
+      Bean<Fox> foxBean = createSimpleBean(Fox.class);
+      manager.addBean(foxBean);
+      FoxRun foxRun = foxRunBean.create();
+      assert foxRun.fox != null;
+   }
+
+   /**
+    * when the Web Bean manager is creating or destroying a Web Bean instance or
+    * injecting its dependencies, or
+    */
+   @Test(groups = { "stub", "contexts", "beanDestruction" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveDuringBeanDestruction()
+   {
+      assert false;
+   }
+
+   /**
+    * when the Web Bean manager is creating or destroying a Web Bean instance or
+    * injecting its dependencies, or
+    */
+   @Test(groups = { "contexts", "injection" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveDuringInjection()
+   {
+      Bean<FoxRun> foxRunBean = createSimpleBean(FoxRun.class);
+      Bean<Fox> foxBean = createSimpleBean(Fox.class);
+      manager.addBean(foxBean);
+      FoxRun foxRun = foxRunBean.create();
+      assert foxRun.fox != null;
+   }
+
+   /**
+    * when the Web Bean manager is injecting dependencies of an EJB bean or
+    * Servlet or when an EJB bean @PostConstruct or @PreDestroy callback is
+    * invoked by the EJB container
+    */
+   @Test(groups = { "contexts", "injection", "stub", "ejb3" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveDuringEJBDependencyInjection()
+   {
+      assert false;
+   }
+
+   /**
+    * when the Web Bean manager is injecting dependencies of an EJB bean or
+    * Servlet or when an EJB bean @PostConstruct or @PreDestroy callback is
+    * invoked by the EJB container
+    */
+   @Test(groups = { "contexts", "injection", "stub", "servlet" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveDuringServletDependencyInjection()
+   {
+      assert false;
+   }
+
+   /**
+    * when the Web Bean manager is injecting dependencies of an EJB bean or
+    * Servlet or when an EJB bean @PostConstruct or @PreDestroy callback is
+    * invoked by the EJB container
+    */
+   @Test(groups = { "contexts", "postconstruct", "stub", "ejb3" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveDuringEJBPostConstruct()
+   {
+      assert false;
+   }
+
+   /**
+    * when the Web Bean manager is injecting dependencies of an EJB bean or
+    * Servlet or when an EJB bean @PostConstruct or @PreDestroy callback is
+    * invoked by the EJB container
+    */
+   @Test(groups = { "contexts", "predestroy", "stub", "ejb3" })
+   @SpecAssertion(section = "9.4")
+   public void testContextIsActiveDuringEJBPreDestroy()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "constructor" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromConstructor()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "removeMethod" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromRemoveMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "initalizerMethod" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromInitializerMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "producerMethod" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromProducerMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "disposalMethod" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromDisposalMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "preDestroy" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromPreDestroy()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "postConstruct" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromPostConstruct()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "interceptor" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromInterceptorOfActiveMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * A Web Bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from the Web Bean constructor, from the
+    * Web Bean remove method, from initializer methods, from producer methods,
+    * from disposal methods, from @PostConstruct and @PreDestroy callbacks and
+    * from Web Beans interceptors or decorators for any of these methods
+    */
+   @Test(groups = { "stub", "contexts", "decorator" })
+   @SpecAssertion(section = "9.4.1")
+   public void testWebBeanMayCreateInstanceFromDecoratorOfActiveMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * An EJB bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from initializer methods, from @PostConstruct
+    * and @PreDestroy callbacks and from Web Beans interceptors for these
+    * methods.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3", "initializerMethod" })
+   @SpecAssertion(section = "9.4.1")
+   public void testEjbBeanMayCreateInstanceFromInitializer()
+   {
+      assert false;
+   }
+
+   /**
+    * An EJB bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from initializer methods, from @PostConstruct
+    * and @PreDestroy callbacks and from Web Beans interceptors for these
+    * methods.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3", "postConstruct" })
+   @SpecAssertion(section = "9.4.1")
+   public void testEjbBeanMayCreateInstanceFromPostConstruct()
+   {
+      assert false;
+   }
+
+   /**
+    * An EJB bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from initializer methods, from @PostConstruct
+    * and @PreDestroy callbacks and from Web Beans interceptors for these
+    * methods.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3", "preDestroy" })
+   @SpecAssertion(section = "9.4.1")
+   public void testEjbBeanMayCreateInstanceFromPreDestroy()
+   {
+      assert false;
+   }
+
+   /**
+    * An EJB bean may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from initializer methods, from @PostConstruct
+    * and @PreDestroy callbacks and from Web Beans interceptors for these
+    * methods.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3", "interceptor" })
+   @SpecAssertion(section = "9.4.1")
+   public void testEjbBeanMayCreateInstanceFromInterceptorOfActiveMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * A Servlet may create an instance of a Web Bean with scope type @Dependent
+    * by calling Manager.getInstance() from initializer methods
+    */
+   @Test(groups = { "stub", "contexts", "servlet", "initializerMethod" })
+   @SpecAssertion(section = "9.4.1")
+   public void testServletBeanMayCreateInstanceFromInitializer()
+   {
+      assert false;
+   }
+
+   /**
+    * destroy all dependent objects of a Web Bean instance when the instance is
+    * destroyed,
+    */
+   @Test(groups = { "stub", "contexts", "beanDestruction" })
+   @SpecAssertion(section = "9.4.2")
+   public void testDestroyingParentDestroysDependents()
+   {
+      assert false;
+   }
+
+   /**
+    * destroy all dependent objects of an EJB bean or Servlet when the EJB bean
+    * or Servlet is destroyed,
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.4.2")
+   public void testDestroyingEjbDestroysDependents()
+   {
+      assert false;
+   }
+
+   /**
+    * destroy all dependent objects of an EJB bean or Servlet when the EJB bean
+    * or Servlet is destroyed,
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.4.2")
+   public void testDestroyingServletDestroysDependents()
+   {
+      assert false;
+   }
+
+   /**
+    * destroy all @Dependent scoped contextual instances created during an EL
+    * expression evaluation when the evaluation completes, and
+    */
+   @Test(groups = { "stub", "contexts", "el" })
+   @SpecAssertion(section = "9.4.2")
+   public void testDependentsDestroyedWhenElEvaluationCompletes()
+   {
+      assert false;
+   }
+
+   /**
+    * destroy any @Dependent scoped contextual instance created to receive a
+    * producer method, producer field, disposal method or observer method
+    * invocation when the invocation completes
+    */
+   @Test(groups = { "stub", "contexts", "producerMethod" })
+   @SpecAssertion(section = "9.4.2")
+   public void testDependentsDestroyedWhenProducerMethodCompletes()
+   {
+      assert false;
+   }
+   
+   /**
+    * destroy any @Dependent scoped contextual instance created to receive a
+    * producer method, producer field, disposal method or observer method
+    * invocation when the invocation completes
+    */
+   @Test(groups = { "stub", "contexts", "producerField" })
+   @SpecAssertion(section = "9.4.2")
+   public void testDependentsDestroyedWhenProducerFieldCompletes()
+   {
+      assert false;
+   }
+
+   /**
+    * destroy any @Dependent scoped contextual instance created to receive a
+    * producer method, producer field, disposal method or observer method
+    * invocation when the invocation completes
+    */
+   @Test(groups = { "stub", "contexts", "disposalMethod" })
+   @SpecAssertion(section = "9.4.2")
+   public void testDependentsDestroyedWhenDisposalMethodCompletes()
+   {
+      assert false;
+   }
+   
+   /**
+    * destroy any @Dependent scoped contextual instance created to receive a
+    * producer method, producer field, disposal method or observer method
+    * invocation when the invocation completes
+    */
+   @Test(groups = { "stub", "contexts", "observerMethod" })
+   @SpecAssertion(section = "9.4")
+   public void testDependentsDestroyedWhenObserverMethodEvaluationCompletes()
+   {
+      assert false;
+   }
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/DependentContextTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Fox.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Fox.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Fox.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import javax.webbeans.Dependent;
+
+ at Dependent
+class Fox
+{
+   
+   public String getName()
+   {
+      return "gavin";
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Fox.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/FoxRun.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/FoxRun.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/FoxRun.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import javax.webbeans.Current;
+
+class FoxRun
+{
+   
+   @Current
+   public Fox fox;
+   
+   @Current
+   public Fox anotherFox;
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/FoxRun.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Helsinki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Helsinki.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Helsinki.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Dependent;
+
+ at Dependent
+ at Stateful
+class Helsinki
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Helsinki.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Hyvinkaa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Hyvinkaa.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Hyvinkaa.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Hyvinkaa implements Serializable
+{
+   @SuppressWarnings("unused")
+   @Current
+   private transient Violation reference;
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Hyvinkaa.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Joensuu.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Joensuu.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Joensuu.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Joensuu implements Serializable
+{
+   @SuppressWarnings("unused")
+   @Current
+   private transient Violation reference;
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Joensuu.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Jyvaskyla.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Jyvaskyla.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Jyvaskyla.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import java.io.Serializable;
+
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Jyvaskyla implements Serializable
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Jyvaskyla.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/NormalContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/NormalContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/NormalContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,202 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import java.lang.annotation.Annotation;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.webbeans.ScopeType;
+import javax.webbeans.manager.Context;
+import javax.webbeans.manager.Contextual;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * @author Nicklas Karlsson
+ * @author Pete Muir
+ * 
+ *         This class tests a basic context against section 8 of the
+ *         specification
+ * 
+ */
+ at SpecVersion("20081206")
+public class NormalContextTest extends AbstractTest
+{
+   
+   @ScopeType
+   @Retention(RetentionPolicy.RUNTIME)
+   private @interface Dummy {}
+   
+   private static class DummyContext implements Context
+   {
+
+      public <T> T get(Contextual<T> bean, boolean create)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return true;
+      }
+      
+   }
+   
+   Context context;
+
+   @BeforeMethod
+   public void initContext()
+   {
+      context = new DummyContext();
+   }
+
+   /**
+    * return an existing instance of the given contextual type, or
+    */
+   @Test(groups = { "contexts", "stub" })
+   @SpecAssertion(section = "9.2")
+   public void testGetReturnsExistingInstace()
+   {
+      assert false;
+   }
+
+   /**
+    * if the value of the create parameter is false, return a null value, or
+    */
+   @Test(groups = { "contexts", "stub" })
+   @SpecAssertion(section = "9.2")
+   public void testGetWithCreateFalseReturnsNull()
+   {
+      assert false;
+   }
+
+   /**
+    * if the value of the create parameter is true, create a new instance of the
+    * given contextual type by calling Bean.create() and return the new
+    * instance.
+    */
+   @Test(groups = { "contexts", "stub" })
+   @SpecAssertion(section = "9.2")
+   public void testGetWithCreateTrueReturnsNewInstance()
+   {
+      assert false;
+   }
+
+   /**
+    * The get() method may not return a null value unless the create parameter
+    * is false or Contextual.create() returns a null value
+    */
+   @Test(groups = { "contexts", "stub" })
+   @SpecAssertion(section = "9.2")
+   public void testGetMayNotReturnNullUnlessCreateIsFalseOrContextualCreateReturnsNull()
+   {
+      assert false;
+   }
+
+   /**
+    * The get() method may not create a new instance of the given contextual
+    * type unless the create parameter is true
+    */
+   @Test(groups = { "contexts", "stub" })
+   @SpecAssertion(section = "9.2")
+   public void testGetMayNotCreateNewInstanceUnlessCreateIsTrue()
+   {
+      assert false;
+   }
+
+   /**
+    * The Context implementation is responsible for destroying any contextual
+    * instance it creates by passing the instance to the destroy() method of the
+    * Contextual object representing the contextual type.
+    */
+   public void testContextDestroysBeansWhenDestroyed()
+   {
+      assert false;
+   }
+
+   /**
+    * A destroyed instance must not subsequently be returned by the get()
+    * method.
+    */
+   @Test(groups = { "contexts", "stub" })
+   @SpecAssertion(section = "9.2")
+   public void testDestroyedInstanceMustNotBeReturnedByGet()
+   {
+      assert false;
+   }
+
+   /**
+    * When a scope is inactive, any invocation of the get() from the current
+    * thread upon the Context object for that scope results in a
+    * ContextNotActiveException.
+    */
+   @Test(groups = { "contexts", "stub" })
+   @SpecAssertion(section = "9.2")
+   public void testInvokingGetOnInactiveContextFails()
+   {
+      assert false;
+   }
+
+   /**
+    * There may be no more than one mapped instance per contextual type per
+    * thread
+    */
+   @Test(groups = { "contexts", "stub" })
+   @SpecAssertion(section = "9.3")
+   public void testOnlyMappedInstancePerContextualTypePerThread()
+   {
+      assert false;
+   }
+
+   /*
+    * @Test(groups = "contexts")
+    * 
+    * @SpecAssertion(section = "9.3") public void
+    * testGetWithCreateFalseReturnsNull() { Bean<Tuna> tunaBean =
+    * BeanFactory.createSimpleBean(Tuna.class, manager); assert
+    * context.get(tunaBean, false) == null; }
+    * 
+    * @Test(groups = "contexts")
+    * 
+    * @SpecAssertion(section = "8.1") public void
+    * testGetWithCreateTrueReturnsBean() { Bean<Tuna> tunaBean =
+    * BeanFactory.createSimpleBean(Tuna.class, manager); assert
+    * context.get(tunaBean, true) != null; }
+    * 
+    * @Test(groups = "contexts", expectedExceptions =
+    * ContextNotActiveException.class)
+    * 
+    * @SpecAssertion(section = "8.1") public void
+    * testInactiveContextThrowsContextNotActiveException() { ((AbstractContext)
+    * context).setActive(false); context.get(null, false); assert true; }
+    * 
+    * @Test(groups = "contexts")
+    * 
+    * @SpecAssertion(section = "8.1") public void
+    * testReturnsCorrectExistingBean() { Bean<Tuna> tunaBean =
+    * BeanFactory.createSimpleBean(Tuna.class, manager); Tuna firstTuna =
+    * context.get(tunaBean, true); Tuna secondTuna = context.get(tunaBean,
+    * false); assert firstTuna == secondTuna; }
+    * 
+    * @Test(groups = { "contexts", "producerMethod" })
+    * 
+    * @SpecAssertion(section = "8.1") public void
+    * testProducerMethodReturningNullOK() throws SecurityException,
+    * NoSuchMethodException { SimpleBean<SpiderProducer> producer =
+    * createSimpleBean(SpiderProducer.class, manager);
+    * manager.addBean(producer); Method nullProducer =
+    * SpiderProducer.class.getMethod("produceShelob");
+    * ProducerMethodBean<Tarantula> shelobBean =
+    * createProducerMethodBean(Tarantula.class, nullProducer, producer,
+    * manager); assert shelobBean.create() == null; }
+    */
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/NormalContextTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/RequestContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/RequestContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/RequestContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,124 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class RequestContextTest extends AbstractTest
+{
+
+   /**
+    * The request scope is active during the service() method of any Servlet in
+    * the web application.
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringServiceMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed at the end of the servlet request, after
+    * the Servlet service() method returns.
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeIsDestroyedAfterServiceMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The request scope is active during any Java EE web service invocation.
+    */
+   @Test(groups = { "stub", "contexts", "webservice" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringWebSericeInvocation()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed after the web service invocation
+    * completes
+    */
+   @Test(groups = { "stub", "contexts", "webservice" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeIsDestroyedAfterWebServiceInvocation()
+   {
+      assert false;
+   }
+
+   /**
+    * The request scope is active during any remote method invocation of any EJB
+    * bean, during any call to an EJB timeout method and during message delivery
+    * to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringRemoteMethodInvocationOfEjb()
+   {
+      assert false;
+   }
+
+   /**
+    * The request scope is active during any remote method invocation of any EJB
+    * bean, during any call to an EJB timeout method and during message delivery
+    * to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringCallToEjbTimeoutMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The request scope is active during any remote method invocation of any EJB
+    * bean, during any call to an EJB timeout method and during message delivery
+    * to any EJB message driven bean.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeActiveDuringEjbMessageDelivery()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed after the remote method invocation,
+    * timeout or message delivery completes.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeDestroyedAfterRemoteMethodInvocationOfEjb()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed after the remote method invocation,
+    * timeout or message delivery completes.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeDestroyedAfterCallToEjbTimeoutMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The request context is destroyed after the remote method invocation,
+    * timeout or message delivery completes.
+    */
+   @Test(groups = { "stub", "contexts", "ejb3" })
+   @SpecAssertion(section = "9.6.1")
+   public void testRequestScopeDestroyedAfterEjbMessageDelivery()
+   {
+      assert false;
+   }
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/RequestContextTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SessionContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SessionContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SessionContextTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,45 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+ at SpecVersion("2001206")
+public class SessionContextTest extends AbstractTest
+{
+
+   /**
+    * The session scope is active during the service() method of any servlet in
+    * the web application
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.2")
+   public void testSessionScopeActiveDuringServiceMethod()
+   {
+      assert false;
+   }
+
+   /**
+    * The session context is shared between all servlet requests that occur in
+    * the same HTTP servlet session
+    */
+   @Test(groups = { "stub", "contexts", "servlet" })
+   @SpecAssertion(section = "9.6.2")
+   public void testSessionContextSharedBetweenServletRequestsInSameHttpSession()
+   {
+      assert false;
+   }
+
+   /**
+    * The session context is destroyed when the HTTPSession is invalidated or
+    * times out.
+    */
+   @Test(groups = { "stub", "contexts" })
+   @SpecAssertion(section = "9.6.2")
+   public void testSessionContextDestroyedWhenHttpSessionInvalidatedOrTimesOut()
+   {
+      assert false;
+   }
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SessionContextTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Spider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Spider.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Spider.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.tests.context;
+
+
+class Spider implements Animal
+{
+
+   public final void layEggs()
+   {
+      
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Spider.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SpiderProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SpiderProducer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SpiderProducer.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import javax.webbeans.Produces;
+
+ at AnotherDeploymentType
+class SpiderProducer
+{
+   
+   @Produces public Tarantula produceTarantula()
+   {
+      return new Tarantula();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/SpiderProducer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Tarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Tarantula.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Tarantula.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.context;
+
+class Tarantula extends Spider implements DeadlySpider
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Tarantula.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Turku.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Turku.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Turku.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Turku
+{
+   @Remove
+   public void bye() {
+      
+   }
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Turku.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Vaasa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Vaasa.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Vaasa.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Vaasa implements Serializable
+{
+   @SuppressWarnings("unused")
+   @Current private Helsinki ejb;
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Vaasa.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Violation.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Violation.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Violation.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.tests.context;
+
+import javax.webbeans.Dependent;
+
+ at Dependent
+public class Violation
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/context/Violation.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Animal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Animal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Animal.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+interface Animal
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnimalStereotype.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnimalStereotype.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.RequestScoped;
+import javax.webbeans.Stereotype;
+
+ at Stereotype(requiredTypes=Animal.class)
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at RequestScoped
+ at interface AnimalStereotype
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnotherDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnotherDeploymentType.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at interface AnotherDeploymentType
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnotherStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnotherStereotype.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/AnotherStereotype.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.Stereotype;
+
+ at Stereotype
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at AnotherDeploymentType
+ at interface AnotherStereotype
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Antelope_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Antelope_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Antelope_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at HornedMammalStereotype
+ at Bovine
+class Antelope_Broken implements Mammal
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/ApplicationScopedHornedMammalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/ApplicationScopedHornedMammalStereotype.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/ApplicationScopedHornedMammalStereotype.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.ApplicationScoped;
+import javax.webbeans.Stereotype;
+
+ at Stereotype(supportedScopes=ApplicationScoped.class)
+ at Target( { TYPE })
+ at Retention(RUNTIME)
+ at HornedAnimalDeploymentType
+ at interface ApplicationScopedHornedMammalStereotype
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Asynchronous.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Asynchronous.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Asynchronous.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Asynchronous
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Bovine.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Bovine.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Bovine.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.Stereotype;
+
+ at Stereotype(requiredTypes=Mammal.class)
+ at Target( { TYPE })
+ at Retention(RUNTIME)
+ at interface Bovine
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Carp_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Carp_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Carp_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at RequestScopedAnimalStereotype
+class Carp_Broken implements Animal
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Chair_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Chair_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Chair_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at AnimalStereotype
+class Chair_Broken
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Elk_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Elk_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Elk_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at StereotypeWithTooManyScopeTypes_Broken
+public class Elk_Broken
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/FallowDeer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/FallowDeer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/FallowDeer_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at StereotypeWithNonEmptyNamed_Broken
+public class FallowDeer_Broken
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Gazelle_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Gazelle_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Gazelle_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at StereotypeWithTooManyDeploymentTypes_Broken
+public class Gazelle_Broken
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Goat_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Goat_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Goat_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at HornedMammalStereotype
+ at AnotherStereotype
+class Goat_Broken
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Goldfish.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Goldfish.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Goldfish.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import javax.webbeans.Production;
+import javax.webbeans.RequestScoped;
+
+ at RequestScopedAnimalStereotype
+ at RequestScoped
+ at Production
+class Goldfish implements Animal
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HighlandCow.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HighlandCow.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HighlandCow.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import javax.webbeans.RequestScoped;
+
+ at HornedMammalStereotype
+ at RequestScopedAnimalStereotype
+ at RequestScoped
+ at Tame
+class HighlandCow implements Animal
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HornedAnimalDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HornedAnimalDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HornedAnimalDeploymentType.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at interface HornedAnimalDeploymentType
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HornedMammalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HornedMammalStereotype.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/HornedMammalStereotype.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.Stereotype;
+
+ at Stereotype(requiredTypes=Animal.class)
+ at Target( { TYPE })
+ at Retention(RUNTIME)
+ at HornedAnimalDeploymentType
+ at interface HornedMammalStereotype
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Mammal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Mammal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Mammal.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+public interface Mammal
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Moose.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Moose.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Moose.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at AnimalStereotype
+class Moose implements Animal
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Reindeer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Reindeer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Reindeer.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at HornedMammalStereotype
+public class Reindeer implements Animal
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/RequestScopedAnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/RequestScopedAnimalStereotype.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/RequestScopedAnimalStereotype.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.RequestScoped;
+import javax.webbeans.Stereotype;
+
+ at Stereotype(requiredTypes=Animal.class, supportedScopes=RequestScoped.class)
+ at Target( { TYPE })
+ at Retention(RUNTIME)
+ at interface RequestScopedAnimalStereotype
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/RoeDeer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/RoeDeer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/RoeDeer_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+ at StereotypeWithBindingTypes_Broken
+public class RoeDeer_Broken
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Springbok.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Springbok.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Springbok.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import javax.webbeans.ApplicationScoped;
+
+ at ApplicationScopedHornedMammalStereotype
+ at RequestScopedAnimalStereotype
+ at ApplicationScoped
+public class Springbok implements Animal
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithBindingTypes_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithBindingTypes_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithBindingTypes_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.Stereotype;
+
+ at Stereotype
+ at Target( { TYPE })
+ at Retention(RUNTIME)
+ at Asynchronous
+ at interface StereotypeWithBindingTypes_Broken
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithNonEmptyNamed_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithNonEmptyNamed_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithNonEmptyNamed_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.Named;
+import javax.webbeans.Stereotype;
+
+ at Stereotype
+ at Target( { TYPE })
+ at Retention(RUNTIME)
+ at Named("foo")
+ at interface StereotypeWithNonEmptyNamed_Broken
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithTooManyDeploymentTypes_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithTooManyDeploymentTypes_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithTooManyDeploymentTypes_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.Production;
+import javax.webbeans.Stereotype;
+
+ at Stereotype
+ at Target( { TYPE })
+ at Retention(RUNTIME)
+ at Production
+ at AnotherDeploymentType
+ at interface StereotypeWithTooManyDeploymentTypes_Broken
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithTooManyScopeTypes_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithTooManyScopeTypes_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypeWithTooManyScopeTypes_Broken.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.ApplicationScoped;
+import javax.webbeans.RequestScoped;
+import javax.webbeans.Stereotype;
+
+ at Stereotype
+ at Target( { TYPE })
+ at Retention(RUNTIME)
+ at ApplicationScoped
+ at RequestScoped
+ at interface StereotypeWithTooManyScopeTypes_Broken
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypesTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypesTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/StereotypesTest.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,224 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import java.lang.annotation.Annotation;
+import java.util.List;
+
+import javax.webbeans.ApplicationScoped;
+import javax.webbeans.DefinitionException;
+import javax.webbeans.Dependent;
+import javax.webbeans.RequestScoped;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class StereotypesTest extends AbstractTest
+{
+   
+   @Override
+   protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
+   {
+      List<Class<? extends Annotation>> deploymentTypes = super.getStandardDeploymentTypes();
+      deploymentTypes.add(AnotherDeploymentType.class);
+      deploymentTypes.add(HornedAnimalDeploymentType.class);
+      return deploymentTypes;
+   }
+   
+   @Test(groups = { "stub", "annotationDefinition" }, expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "2.7.1")
+   public void testHasCorrectTarget()
+   {
+      assert false;
+   }
+   
+   @Test(groups = { "stub", "annotationDefinition" }, expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "2.7.1")
+   public void testHasCorrectRetention()
+   {
+      assert false;
+   }
+   
+   @Test(groups = { "stub", "annotationDefinition" }, expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "2.7.1")
+   public void testHasStereotypeAnnotation()
+   {
+      assert false;
+   }
+   
+   @Test
+   @SpecAssertion(section = "2.7.1.1")
+   public void testStereotypeWithScopeType()
+   {
+      Bean<Moose> moose = createSimpleBean(Moose.class);
+      assert moose.getScopeType().equals(RequestScoped.class);
+   }
+   
+   @Test
+   @SpecAssertion(section = "2.7.1.1")
+   public void testStereotypeWithoutScopeType()
+   {
+      Bean<Reindeer> reindeer = createSimpleBean(Reindeer.class);
+      assert reindeer.getScopeType().equals(Dependent.class);
+   }
+   
+   @Test(groups = "stub")
+   @SpecAssertion(section = "2.7.1.2")
+   public void testStereotypeWithoutInterceptors()
+   {
+      assert false;
+   }
+   
+   @Test(groups = { "stub", "interceptors" })
+   @SpecAssertion(section = "2.7.1.2")
+   public void testStereotypeWithInterceptors()
+   {
+      assert false;
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "2.7.1.1")
+   public void testStereotypeWithTooManyScopeTypes()
+   {
+      deployBeans(Elk_Broken.class);
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "2.7.1.1")
+   public void testStereotypeWithTooManyDeploymentTypes()
+   {
+      deployBeans(Gazelle_Broken.class);
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "2.7.1.3")
+   public void testStereotypeWithNonEmptyNamed()
+   {
+      deployBeans(FallowDeer_Broken.class);
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "2.7.1")
+   public void testStereotypeWithBindingTypes()
+   {
+      deployBeans(RoeDeer_Broken.class);
+   }
+   
+   @Test
+   @SpecAssertion(section = { "2.7.2", "2.7.4" })
+   public void testMultipleStereotypes()
+   {
+      Bean<HighlandCow> highlandCow = createSimpleBean(HighlandCow.class);
+      assert highlandCow.getName() == null;
+      assert highlandCow.getBindings().iterator().next().annotationType().equals(Tame.class);
+      assert highlandCow.getScopeType().equals(RequestScoped.class);
+      assert highlandCow.getDeploymentType().equals(HornedAnimalDeploymentType.class);
+   }
+   
+   @Test
+   @SpecAssertion(section = { "2.7.2", "2.7.4" })
+   public void testMultipleStereotypesMergesScopes()
+   {
+      Bean<Springbok> springbok = createSimpleBean(Springbok.class);
+      assert springbok.getScopeType().equals(ApplicationScoped.class);
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = { "2.7.2", "2.7.4" })
+   public void testMultipleStereotypesMergesRequiredTypes()
+   {
+      deployBeans(Antelope_Broken.class);
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = { "2.7.2", "2.7.4" })
+   public void testMultipleStereotypesWithMultipleDeploymentTypes()
+   {
+      deployBeans(Goat_Broken.class);
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class, groups = "stub")
+   @SpecAssertion(section = { "2.7.2", "2.7.4" })
+   public void testMultipleStereotypesWithMultipleScopeTypes()
+   {
+      assert false;
+   }
+   
+   @Test(groups = { "stub", "webbeansxml" })
+   @SpecAssertion(section = "2.7.3")
+   public void testStereotypeDeclaredInXmlIgnoresJavaStereotypes()
+   {
+      // Map<Class<? extends Annotation>, Annotation> cooXmlAnnotations = new
+      // HashMap<Class<? extends Annotation>, Annotation>();
+      // cooXmlAnnotations.put(HornedMammalStereotype.class, new
+      // HornedMamalStereotypeAnnotationLiteral());
+      // AnnotatedClass<HighlandCow> cooXmlAnnotatedItem = new
+      // SimpleAnnotatedClass<HighlandCow>(HighlandCow.class,
+      // cooXmlAnnotations);
+      
+      /*
+       * SimpleBean<HighlandCow> coo = createSimpleBean(HighlandCow.class,
+       * cooXmlAnnotatedItem); assert
+       * coo.getDeploymentType().equals(HornedAnimalDeploymentType.class);
+       * assert coo.getScopeType().equals(RequestScoped.class); assert
+       * coo.getMergedStereotypes().getRequiredTypes().size() == 1; assert
+       * coo.getMergedStereotypes().getRequiredTypes().contains(Animal.class);
+       * assert coo.getMergedStereotypes().getSupportedScopes().size() == 0;
+       */
+      assert false;
+   }
+   
+   @Test(groups = { "stub", "webbeansxml" })
+   @SpecAssertion(section = "2.7.3")
+   public void testStereotypeDeclaredInXmlIgnoresJavaBindingTypes()
+   {
+      // Map<Class<? extends Annotation>, Annotation> cooXmlAnnotations = new
+      // HashMap<Class<? extends Annotation>, Annotation>();
+      // cooXmlAnnotations.put(HornedMammalStereotype.class, new
+      // HornedMamalStereotypeAnnotationLiteral());
+      // cooXmlAnnotations.put(Synchronous.class, new
+      // SynchronousAnnotationLiteral());
+      // AnnotatedClass<HighlandCow> cooXmlAnnotatedItem = new
+      // SimpleAnnotatedClass<HighlandCow>(HighlandCow.class,
+      // cooXmlAnnotations);
+      
+      /*
+       * SimpleBean<HighlandCow> coo = createSimpleBean(HighlandCow.class,
+       * cooXmlAnnotatedItem); assert coo.getBindingTypes().size() == 1; assert
+       * coo.getBindingTypes().contains(new SynchronousAnnotationLiteral());
+       */
+      assert false;
+      
+   }
+   
+   @Test
+   @SpecAssertion(section = { "2.7.1.4", "2.7.4" })
+   public void testRequiredTypeIsImplemented()
+   {
+      assert createSimpleBean(HighlandCow.class).getTypes().contains(Animal.class);
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = { "2.7.1.4", "2.7.4" })
+   public void testRequiredTypeIsNotImplemented()
+   {
+      deployBeans(Chair_Broken.class);
+   }
+   
+   @Test
+   @SpecAssertion(section = { "2.7.1.4", "2.7.4" })
+   public void testScopeIsSupported()
+   {
+      assert createSimpleBean(Goldfish.class).getScopeType().equals(RequestScoped.class);
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = { "2.7.1.4", "2.7.4" })
+   public void testScopeIsNotSupported()
+   {
+      createSimpleBean(Carp_Broken.class);
+   }
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Tame.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Tame.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/stereotype/Tame.java	2009-01-17 14:32:18 UTC (rev 1037)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.tests.definition.stereotype;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Tame
+{
+
+}


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




More information about the weld-commits mailing list