[webbeans-commits] Webbeans SVN: r1183 - in tck/trunk/impl/src/main/java/org/jboss/webbeans/tck: unit/context and 2 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Jan 22 19:46:28 EST 2009


Author: shane.bryzak at jboss.com
Date: 2009-01-22 19:46:28 -0500 (Thu, 22 Jan 2009)
New Revision: 1183

Added:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/City.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityBinding.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityInterface.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer2.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Espoo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Forssa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hamina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Helsinki.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hyvinkaa.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jamsa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Joensuu.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jyvaskyla.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kaarina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kotka_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kuopio_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Loviisa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Maarianhamina_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Mikkeli_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Nokia_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/PassivatingContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Peraseinajoki.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Porvoo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Raisio_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Salo_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Uusikaupunki_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vaasa.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vantaa_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation2.java
Modified:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/PassivatingContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/lookup/byname/InstantiationByNameTest.java
Log:
refactored passivating tests

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/PassivatingContextTest.java	2009-01-23 00:31:15 UTC (rev 1182)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/integration/context/passivating/PassivatingContextTest.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -1,13 +1,5 @@
 package org.jboss.webbeans.tck.integration.context.passivating;
 
-import java.io.IOException;
-import java.util.Set;
-
-import javax.webbeans.DefinitionException;
-import javax.webbeans.IllegalProductException;
-import javax.webbeans.UnserializableDependencyException;
-import javax.webbeans.manager.Bean;
-
 import org.jboss.webbeans.tck.AbstractTest;
 import org.jboss.webbeans.tck.impl.SpecAssertion;
 import org.jboss.webbeans.tck.impl.SpecVersion;
@@ -33,440 +25,8 @@
       deployBeans(Turku.class);
    }
 
-   /**
-    * Simple Web Beans are not required to be serializable. If a simple Web Bean
-    * declares a passivating scope, and the implementation class is not
-    * serializable, a DefinitionException is thrown by the Web Bean manager at
-    * initialization time.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = DefinitionException.class)
-   @SpecAssertion(section = "9.5")
-   public void testSimpleWebBeanWithNonSerializableImplementationClassFails()
-   {
-      deployBeans(Hamina_Broken.class);
-   }
 
    /**
-    * Simple Web Beans are not required to be serializable. If a simple Web Bean
-    * declares a passivating scope, and the implementation class is not
-    * serializable, a DefinitionException is thrown by the Web Bean manager at
-    * initialization time.
-    */
-   @Test(groups = {"contexts", "passivation" })
-   @SpecAssertion(section = "9.5")
-   public void testSimpleWebBeanWithSerializableImplementationClassOK()
-   {
-      createSimpleBean(Jyvaskyla.class);
-   }
-
-   /**
-    * the Web Bean declares a passivating scope type, and context passivation
-    * occurs, or
-    * 
-    * @throws IOException
-    * @throws ClassNotFoundException
-    */
-   @Test(groups = { "contexts", "passivation" , "stub" })
-   @SpecAssertion(section = "9.5")
-   public void testSimpleWebBeanDeclaringPassivatingScopeIsSerializedWhenContextIsPassivated() throws IOException, ClassNotFoundException
-   {
-      assert false;
-   }
-
-   @SuppressWarnings("unchecked")
-   private <T> boolean testSerialize(Bean<T> bean) throws IOException, ClassNotFoundException
-   {
-      manager.addBean(bean);
-      T instance = manager.getInstance(bean);
-      byte[] data = serialize(instance);
-      T resurrected = (T) deserialize(data);
-      return resurrected.toString().equals(instance.toString());
-   }
-
-   /**
-    * the Web Bean is an EJB stateful session bean, and it is passivated by the
-    * EJB container.
-    * 
-    * @throws ClassNotFoundException
-    * @throws IOException
-    */
-   // TODO requires an EJB instance
-   @Test(groups = { "contexts", "passivation", "broken", "stub" })
-   @SpecAssertion(section = "9.5")
-   public void testStatefulEJBIsSerializedWhenPassivatedByEJBContainer() throws IOException, ClassNotFoundException
-   {
-      assert false;
-   }
-
-   /**
-    * On the other hand, dependent objects (including interceptors and
-    * decorators with scope @Dependent) of a stateful session bean or of a Web
-    * Bean with a passivating scope must be serialized and deserialized along
-    * with their owner
-    */
-   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentInterceptorsOfStatefulEnterpriseBeanMustBeSerializable()
-   {
-      deployBeans(Kaarina_Broken.class);
-   }
-
-   /**
-    * On the other hand, dependent objects (including interceptors and
-    * decorators with scope @Dependent) of a stateful session bean or of a Web
-    * Bean with a passivating scope must be serialized and deserialized along
-    * with their owner
-    */
-   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentDecoratorsOfStatefulEnterpriseBeanMustBeSerializable()
-   {
-      deployBeans(Porvoo_Broken.class);
-   }
-
-   /**
-    * On the other hand, dependent objects (including interceptors and
-    * decorators with scope @Dependent) of a stateful session bean or of a Web
-    * Bean with a passivating scope must be serialized and deserialized along
-    * with their owner
-    */
-   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentInterceptorsOfWebBeanWithPassivatingScopeMustBeSerializable()
-   {
-      deployBeans(Kotka_Broken.class);
-   }
-
-   /**
-    * On the other hand, dependent objects (including interceptors and
-    * decorators with scope @Dependent) of a stateful session bean or of a Web
-    * Bean with a passivating scope must be serialized and deserialized along
-    * with their owner
-    */
-   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentDecoratorsOfWebBeansWithPassivatingScopeMustBeSerializable()
-   {
-      deployBeans(Raisio_Broken.class);
-   }
-
-   /**
-    * EJB local objects are serializable. Therefore, any reference to an
-    * enterprise Web Bean of scope @Dependent is serializable.
-    * 
-    * @throws ClassNotFoundException
-    * @throws IOException
-    */
-   @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "9.5")
-   public void testDependentEJBsAreSerializable() throws IOException, ClassNotFoundException
-   {
-      deployBeans(Vaasa.class, Helsinki.class);
-      Set<Bean<Vaasa>> vaasaBeans = manager.resolveByType(Vaasa.class);
-      assert vaasaBeans.size() == 1;
-      assert testSerialize(vaasaBeans.iterator().next());
-   }
-
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
-   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoStatefulSessionBeanFails()
-   {
-      deployBeans(Violation.class, Espoo_Broken.class);
-      manager.getInstanceByType(Espoo_Broken.class);
-   }
-
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(Vantaa_Broken.class, Violation.class);
-   }
-
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
-   @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "9.5")
-   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoTransientFieldOK()
-   {
-      createSimpleBean(Joensuu.class);
-   }
-
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(Loviisa_Broken.class, Violation.class);
-   }
-
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(Forssa_Broken.class, Violation.class);
-   }
-
-   /**
-    * If a simple Web Bean of scope @Dependent and a non-serializable
-    * implementation class is injected into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * UnserializableDependencyException must be thrown by the Web Bean manager
-    * at initialization time.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
-   @SpecAssertion(section = "9.5")
-   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoProducerMethodParameterWithPassivatingScopeFails()
-   {
-      deployBeans(Peraseinajoki.class, Violation.class,  Violation2.class);
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    * 
-    * @throws NoSuchMethodException
-    * @throws SecurityException
-    */
-   @Test(groups = { "contexts", "passivation", "integration", "broken" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws SecurityException, NoSuchMethodException
-   {
-      deployBeans(CityProducer2.class, Maarianhamina_Broken.class);
-      manager.getInstanceByType(Maarianhamina_Broken.class);
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer2.class, Nokia_Broken.class);
-      manager.getInstanceByType(Nokia_Broken.class).ping();
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation" })
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
-   {
-      createSimpleBean(CityProducer2.class);
-      createSimpleBean(Hyvinkaa.class);
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer2.class, Loviisa_Broken.class);
-      manager.getInstanceByType(Loviisa_Broken.class).ping();
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer2.class, Kuopio_Broken.class);
-      manager.getInstanceByType(Kuopio_Broken.class).ping();
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation" , "broken"}, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
-   {
-      // TODO Not quite sure what this test is doing
-      //deployBeans(CityProducer3.class, Jamsa_Broken.class);
-      //manager.getInstanceByType(Jamsa_Broken.class).ping();
-      assert false;
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    * 
-    */
-   @Test(groups = { "contexts", "passivation", "stub"}, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws Exception
-   {
-      // TODO This doesn't test injction in a SFSB, but into a Enterprise bean
-      //deployBeans(CityProducer.class, Pietarsaari_Broken.class);
-      //manager.getInstanceByType(Pietarsaari_Broken.class);
-      assert false;
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer.class, Uusikaupunki_Broken.class);
-      manager.getInstanceByType(Uusikaupunki_Broken.class).ping();
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation"})
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
-   {
-      deployBeans(CityProducer.class, Salo_Broken.class);
-      manager.getInstanceByType(Salo_Broken.class).ping();
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer.class, Loviisa_Broken.class);
-      manager.getInstanceByType(Loviisa_Broken.class).ping();
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
-   {
-      deployBeans(CityProducer.class, Mikkeli_Broken.class);
-      manager.getInstanceByType(Mikkeli_Broken.class).ping();
-   }
-
-   /**
-    * If a producer method or field of scope @Dependent returns a
-    * non-serializable object for injection into a stateful session bean, into a
-    * non-transient field, Web Bean constructor parameter or initializer method
-    * parameter of a Web Bean which declares a passivating scope type, or into a
-    * parameter of a producer method which declares a passivating scope type, an
-    * IllegalProductException is thrown by the Web Bean manager.
-    */
-   @Test(groups = { "contexts", "passivation", "broken" }, expectedExceptions = IllegalProductException.class)
-   @SpecAssertion(section = "9.5")
-   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
-   {
-      // TODO Not quite sure what this test is doing
-      deployBeans(CityProducer.class, Jamsa_Broken.class);
-      manager.getInstanceByType(Jamsa_Broken.class).ping();
-      assert false;
-   }
-
-   /**
     * The Web Bean manager must guarantee that JMS endpoint proxy objects are
     * serializable.
     */

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/City.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/City.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/City.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+class City
+{
+   public void ping() {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityBinding.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityBinding.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+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.Dependent;
+import javax.webbeans.InterceptorBindingType;
+
+ at InterceptorBindingType
+ at Dependent
+ at Target({TYPE, METHOD})
+ at Retention(RUNTIME)
+ at interface CityBinding
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityInterface.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityInterface.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+interface CityInterface
+{
+   public void foo();
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.webbeans.Dependent;
+import javax.webbeans.Produces;
+
+class CityProducer
+{
+   @Produces @Dependent public Violation reference = new Violation();
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer2.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/CityProducer2.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.webbeans.Dependent;
+import javax.webbeans.Produces;
+
+class CityProducer2
+{
+   @Produces
+   @Dependent
+   public Violation create()
+   {
+      return new Violation();
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Espoo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Espoo_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Espoo_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Espoo_Broken
+{
+   @Current
+   Violation reference;
+   
+   @Remove
+   public void bye() {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Forssa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Forssa_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Forssa_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Initializer;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Forssa_Broken implements Serializable
+{
+   private static final long serialVersionUID = 2155797154677120837L;
+
+   public Forssa_Broken() {
+   }
+   
+   @Initializer
+   public Forssa_Broken(@Current Violation reference) {
+   }
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hamina_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hamina_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Hamina_Broken
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Helsinki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Helsinki.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Helsinki.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Dependent;
+
+ at Dependent
+ at Stateful
+class Helsinki
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hyvinkaa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hyvinkaa.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Hyvinkaa.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+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;
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jamsa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jamsa_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jamsa_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,24 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Produces;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Jamsa_Broken extends City implements Serializable
+{
+   private static final long serialVersionUID = 8228981889946806181L;
+
+   public Jamsa_Broken()
+   {
+   }
+
+   @Produces
+   @SessionScoped
+   public Violation create(@Current Violation violation)
+   {
+      return violation;
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Joensuu.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Joensuu.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Joensuu.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+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;
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jyvaskyla.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jyvaskyla.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Jyvaskyla.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.SessionScoped;
+
+ at SuppressWarnings("serial")
+ at SessionScoped
+class Jyvaskyla implements Serializable
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kaarina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kaarina_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kaarina_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Kaarina_Broken
+{
+   @CityBinding
+   public void foo()
+   {
+   }
+
+   @Remove
+   public void bye()
+   {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kotka_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kotka_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kotka_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Kotka_Broken implements Serializable
+{
+   private static final long serialVersionUID = -1208921426884983474L;
+
+   @CityBinding
+   public void foo() {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kuopio_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kuopio_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Kuopio_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Initializer;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Kuopio_Broken extends City implements Serializable
+{
+   private static final long serialVersionUID = 2446135216757213774L;
+
+   public Kuopio_Broken() {
+      
+   }
+   
+   @Initializer
+   public void init(@Current Violation reference) {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Loviisa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Loviisa_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Loviisa_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Initializer;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Loviisa_Broken extends City implements Serializable
+{
+   private static final long serialVersionUID = -2866858442948392508L;
+
+   public Loviisa_Broken() {
+   }
+   
+   @Initializer
+   public Loviisa_Broken(@Current Violation reference) {
+      
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Maarianhamina_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Maarianhamina_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Maarianhamina_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Maarianhamina_Broken
+{
+   @SuppressWarnings("unused")
+   @Current
+   private Violation reference;
+   
+   @Remove
+   public void bye() {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Mikkeli_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Mikkeli_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Mikkeli_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,23 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.Initializer;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Mikkeli_Broken extends City implements Serializable
+{
+   private static final long serialVersionUID = -3853118456066667893L;
+
+   public Mikkeli_Broken()
+   {
+   }
+
+   @Initializer
+   public Mikkeli_Broken(@Current Violation reference)
+   {
+   }
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Nokia_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Nokia_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Nokia_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Nokia_Broken extends City implements Serializable
+{
+   private static final long serialVersionUID = -9104722758108835718L;
+   
+   @SuppressWarnings("unused")
+   @Current
+   private Violation reference;
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/PassivatingContextTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/PassivatingContextTest.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,483 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.IOException;
+import java.util.Set;
+
+import javax.webbeans.DefinitionException;
+import javax.webbeans.IllegalProductException;
+import javax.webbeans.UnserializableDependencyException;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.unit.context.passivating.CityProducer;
+import org.jboss.webbeans.tck.unit.context.passivating.CityProducer2;
+import org.jboss.webbeans.tck.unit.context.passivating.Espoo_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Forssa_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Hamina_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Helsinki;
+import org.jboss.webbeans.tck.unit.context.passivating.Hyvinkaa;
+import org.jboss.webbeans.tck.unit.context.passivating.Jamsa_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Joensuu;
+import org.jboss.webbeans.tck.unit.context.passivating.Jyvaskyla;
+import org.jboss.webbeans.tck.unit.context.passivating.Kaarina_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Kotka_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Kuopio_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Loviisa_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Maarianhamina_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Mikkeli_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Nokia_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Peraseinajoki;
+import org.jboss.webbeans.tck.unit.context.passivating.Porvoo_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Raisio_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Salo_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Uusikaupunki_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Vaasa;
+import org.jboss.webbeans.tck.unit.context.passivating.Vantaa_Broken;
+import org.jboss.webbeans.tck.unit.context.passivating.Violation;
+import org.jboss.webbeans.tck.unit.context.passivating.Violation2;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * @author Nicklas Karlsson 
+ * 
+ */
+ at SpecVersion("20081206")
+public class PassivatingContextTest extends AbstractTest
+{
+
+   /**
+    * Simple Web Beans are not required to be serializable. If a simple Web Bean
+    * declares a passivating scope, and the implementation class is not
+    * serializable, a DefinitionException is thrown by the Web Bean manager at
+    * initialization time.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = DefinitionException.class)
+   @SpecAssertion(section = "9.5")
+   public void testSimpleWebBeanWithNonSerializableImplementationClassFails()
+   {
+      deployBeans(Hamina_Broken.class);
+   }
+
+   /**
+    * Simple Web Beans are not required to be serializable. If a simple Web Bean
+    * declares a passivating scope, and the implementation class is not
+    * serializable, a DefinitionException is thrown by the Web Bean manager at
+    * initialization time.
+    */
+   @Test(groups = {"contexts", "passivation" })
+   @SpecAssertion(section = "9.5")
+   public void testSimpleWebBeanWithSerializableImplementationClassOK()
+   {
+      createSimpleBean(Jyvaskyla.class);
+   }
+
+   /**
+    * the Web Bean declares a passivating scope type, and context passivation
+    * occurs, or
+    * 
+    * @throws IOException
+    * @throws ClassNotFoundException
+    */
+   @Test(groups = { "contexts", "passivation" , "stub" })
+   @SpecAssertion(section = "9.5")
+   public void testSimpleWebBeanDeclaringPassivatingScopeIsSerializedWhenContextIsPassivated() throws IOException, ClassNotFoundException
+   {
+      assert false;
+   }
+
+   @SuppressWarnings("unchecked")
+   private <T> boolean testSerialize(Bean<T> bean) throws IOException, ClassNotFoundException
+   {
+      manager.addBean(bean);
+      T instance = manager.getInstance(bean);
+      byte[] data = serialize(instance);
+      T resurrected = (T) deserialize(data);
+      return resurrected.toString().equals(instance.toString());
+   }
+
+   /**
+    * the Web Bean is an EJB stateful session bean, and it is passivated by the
+    * EJB container.
+    * 
+    * @throws ClassNotFoundException
+    * @throws IOException
+    */
+   // TODO requires an EJB instance
+   @Test(groups = { "contexts", "passivation", "broken", "stub" })
+   @SpecAssertion(section = "9.5")
+   public void testStatefulEJBIsSerializedWhenPassivatedByEJBContainer() throws IOException, ClassNotFoundException
+   {
+      assert false;
+   }
+
+   /**
+    * On the other hand, dependent objects (including interceptors and
+    * decorators with scope @Dependent) of a stateful session bean or of a Web
+    * Bean with a passivating scope must be serialized and deserialized along
+    * with their owner
+    */
+   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentInterceptorsOfStatefulEnterpriseBeanMustBeSerializable()
+   {
+      deployBeans(Kaarina_Broken.class);
+   }
+
+   /**
+    * On the other hand, dependent objects (including interceptors and
+    * decorators with scope @Dependent) of a stateful session bean or of a Web
+    * Bean with a passivating scope must be serialized and deserialized along
+    * with their owner
+    */
+   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentDecoratorsOfStatefulEnterpriseBeanMustBeSerializable()
+   {
+      deployBeans(Porvoo_Broken.class);
+   }
+
+   /**
+    * On the other hand, dependent objects (including interceptors and
+    * decorators with scope @Dependent) of a stateful session bean or of a Web
+    * Bean with a passivating scope must be serialized and deserialized along
+    * with their owner
+    */
+   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentInterceptorsOfWebBeanWithPassivatingScopeMustBeSerializable()
+   {
+      deployBeans(Kotka_Broken.class);
+   }
+
+   /**
+    * On the other hand, dependent objects (including interceptors and
+    * decorators with scope @Dependent) of a stateful session bean or of a Web
+    * Bean with a passivating scope must be serialized and deserialized along
+    * with their owner
+    */
+   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentDecoratorsOfWebBeansWithPassivatingScopeMustBeSerializable()
+   {
+      deployBeans(Raisio_Broken.class);
+   }
+
+   /**
+    * EJB local objects are serializable. Therefore, any reference to an
+    * enterprise Web Bean of scope @Dependent is serializable.
+    * 
+    * @throws ClassNotFoundException
+    * @throws IOException
+    */
+   @Test(groups = { "contexts", "passivation" })
+   @SpecAssertion(section = "9.5")
+   public void testDependentEJBsAreSerializable() throws IOException, ClassNotFoundException
+   {
+      deployBeans(Vaasa.class, Helsinki.class);
+      Set<Bean<Vaasa>> vaasaBeans = manager.resolveByType(Vaasa.class);
+      assert vaasaBeans.size() == 1;
+      assert testSerialize(vaasaBeans.iterator().next());
+   }
+
+   /**
+    * If a simple Web Bean of scope @Dependent and a non-serializable
+    * implementation class is injected into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * UnserializableDependencyException must be thrown by the Web Bean manager
+    * at initialization time.
+    */
+   @Test(groups = { "stub", "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoStatefulSessionBeanFails()
+   {
+      deployBeans(Violation.class, Espoo_Broken.class);
+      manager.getInstanceByType(Espoo_Broken.class);
+   }
+
+   /**
+    * If a simple Web Bean of scope @Dependent and a non-serializable
+    * implementation class is injected into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * UnserializableDependencyException must be thrown by the Web Bean manager
+    * at initialization time.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(Vantaa_Broken.class, Violation.class);
+   }
+
+   /**
+    * If a simple Web Bean of scope @Dependent and a non-serializable
+    * implementation class is injected into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * UnserializableDependencyException must be thrown by the Web Bean manager
+    * at initialization time.
+    */
+   @Test(groups = { "contexts", "passivation" })
+   @SpecAssertion(section = "9.5")
+   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoTransientFieldOK()
+   {
+      createSimpleBean(Joensuu.class);
+   }
+
+   /**
+    * If a simple Web Bean of scope @Dependent and a non-serializable
+    * implementation class is injected into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * UnserializableDependencyException must be thrown by the Web Bean manager
+    * at initialization time.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(Loviisa_Broken.class, Violation.class);
+   }
+
+   /**
+    * If a simple Web Bean of scope @Dependent and a non-serializable
+    * implementation class is injected into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * UnserializableDependencyException must be thrown by the Web Bean manager
+    * at initialization time.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(Forssa_Broken.class, Violation.class);
+   }
+
+   /**
+    * If a simple Web Bean of scope @Dependent and a non-serializable
+    * implementation class is injected into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * UnserializableDependencyException must be thrown by the Web Bean manager
+    * at initialization time.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = UnserializableDependencyException.class)
+   @SpecAssertion(section = "9.5")
+   public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoProducerMethodParameterWithPassivatingScopeFails()
+   {
+      deployBeans(Peraseinajoki.class, Violation.class,  Violation2.class);
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    * 
+    * @throws NoSuchMethodException
+    * @throws SecurityException
+    */
+   @Test(groups = { "contexts", "passivation", "integration", "broken" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws SecurityException, NoSuchMethodException
+   {
+      deployBeans(CityProducer2.class, Maarianhamina_Broken.class);
+      manager.getInstanceByType(Maarianhamina_Broken.class);
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer2.class, Nokia_Broken.class);
+      manager.getInstanceByType(Nokia_Broken.class).ping();
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation" })
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
+   {
+      createSimpleBean(CityProducer2.class);
+      createSimpleBean(Hyvinkaa.class);
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer2.class, Loviisa_Broken.class);
+      manager.getInstanceByType(Loviisa_Broken.class).ping();
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer2.class, Kuopio_Broken.class);
+      manager.getInstanceByType(Kuopio_Broken.class).ping();
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation" , "broken"}, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
+   {
+      // TODO Not quite sure what this test is doing
+      //deployBeans(CityProducer3.class, Jamsa_Broken.class);
+      //manager.getInstanceByType(Jamsa_Broken.class).ping();
+      assert false;
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    * 
+    */
+   @Test(groups = { "contexts", "passivation", "stub"}, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws Exception
+   {
+      // TODO This doesn't test injction in a SFSB, but into a Enterprise bean
+      //deployBeans(CityProducer.class, Pietarsaari_Broken.class);
+      //manager.getInstanceByType(Pietarsaari_Broken.class);
+      assert false;
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer.class, Uusikaupunki_Broken.class);
+      manager.getInstanceByType(Uusikaupunki_Broken.class).ping();
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation"})
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
+   {
+      deployBeans(CityProducer.class, Salo_Broken.class);
+      manager.getInstanceByType(Salo_Broken.class).ping();
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer.class, Loviisa_Broken.class);
+      manager.getInstanceByType(Loviisa_Broken.class).ping();
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
+   {
+      deployBeans(CityProducer.class, Mikkeli_Broken.class);
+      manager.getInstanceByType(Mikkeli_Broken.class).ping();
+   }
+
+   /**
+    * If a producer method or field of scope @Dependent returns a
+    * non-serializable object for injection into a stateful session bean, into a
+    * non-transient field, Web Bean constructor parameter or initializer method
+    * parameter of a Web Bean which declares a passivating scope type, or into a
+    * parameter of a producer method which declares a passivating scope type, an
+    * IllegalProductException is thrown by the Web Bean manager.
+    */
+   @Test(groups = { "contexts", "passivation", "broken" }, expectedExceptions = IllegalProductException.class)
+   @SpecAssertion(section = "9.5")
+   public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
+   {
+      // TODO Not quite sure what this test is doing
+      deployBeans(CityProducer.class, Jamsa_Broken.class);
+      manager.getInstanceByType(Jamsa_Broken.class).ping();
+      assert false;
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Peraseinajoki.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Peraseinajoki.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Peraseinajoki.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.webbeans.Current;
+import javax.webbeans.Produces;
+import javax.webbeans.SessionScoped;
+
+class Peraseinajoki extends City
+{
+
+   @Produces @SessionScoped
+   public Violation2 create(@Current Violation reference)
+   {
+      return new Violation2();
+   }
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Porvoo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Porvoo_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Porvoo_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.SessionScoped;
+
+ at Stateful
+ at SessionScoped
+class Porvoo_Broken implements CityInterface
+{
+   public void foo()
+   {
+   }
+
+   @Remove
+   public void bye()
+   {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Raisio_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Raisio_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Raisio_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Raisio_Broken implements CityInterface, Serializable
+{
+   private static final long serialVersionUID = 2726489129474229549L;
+
+   public void foo()
+   {
+   }
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Salo_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Salo_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Salo_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Salo_Broken extends City implements Serializable
+{
+   private static final long serialVersionUID = 5500591077418621816L;
+   
+   @SuppressWarnings("unused")
+   @Current
+   private transient Violation reference;
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Uusikaupunki_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Uusikaupunki_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Uusikaupunki_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Uusikaupunki_Broken extends City implements Serializable
+{
+   private static final long serialVersionUID = 5097928748462594346L;
+   
+   @SuppressWarnings("unused")
+   @Current
+   private Violation reference;
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vaasa.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vaasa.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vaasa.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+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;
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vantaa_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vantaa_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Vantaa_Broken.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,30 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import java.io.Serializable;
+
+import javax.webbeans.Current;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped
+class Vantaa_Broken implements Serializable
+{
+   private static final long serialVersionUID = -1686562136639336613L;
+   
+   @Current
+   private Violation reference;
+
+   public Violation getReference()
+   {
+      return reference;
+   }
+
+   public void setReference(Violation reference)
+   {
+      this.reference = reference;
+   }
+
+   public String test() {
+      return reference.toString();
+   }
+   
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.webbeans.Dependent;
+
+ at Dependent
+class Violation
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation2.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation2.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/context/passivating/Violation2.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.context.passivating;
+
+import javax.webbeans.Dependent;
+
+ at Dependent
+class Violation2
+{
+
+}

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/lookup/byname/InstantiationByNameTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/lookup/byname/InstantiationByNameTest.java	2009-01-23 00:31:15 UTC (rev 1182)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/lookup/byname/InstantiationByNameTest.java	2009-01-23 00:46:28 UTC (rev 1183)
@@ -71,15 +71,4 @@
    {
       assert false;
    }
-   
-   /*
-
-   @Test(groups="el") @SpecAssertion(section="4.10")
-   public void test
-   {
-      assert false;
-   }
-
-    */
-   
 }




More information about the weld-commits mailing list