Author: mcconnell
Date: Fri Jun 25 03:44:53 2004
New Revision: 22107

Modified:
   
avalon/trunk/runtime/composition/impl/src/test/org/apache/avalon/composition/model/test/ContextTestCase.java
   
avalon/trunk/runtime/composition/impl/src/test/org/apache/avalon/composition/model/test/DynamicsTestCase.java
Log:
speed up the context testcase and enhance the dynamic test case to do validation of 
deependency bindings

Modified: 
avalon/trunk/runtime/composition/impl/src/test/org/apache/avalon/composition/model/test/ContextTestCase.java
==============================================================================
--- 
avalon/trunk/runtime/composition/impl/src/test/org/apache/avalon/composition/model/test/ContextTestCase.java
        (original)
+++ 
avalon/trunk/runtime/composition/impl/src/test/org/apache/avalon/composition/model/test/ContextTestCase.java
        Fri Jun 25 03:44:53 2004
@@ -67,9 +67,21 @@
 
    //-------------------------------------------------------
    // tests
-   //-------------------------------------------------------
+   //-------------------------------------------------------

 
-    public void testClassLoader() throws Exception
+    public void testContext() throws Exception

+    {

+        executeClassLoader();

+        executeHomeDirectory();

+        executeTempDirectory();

+        executePartition();

+        executeAlias();

+        executeVolatile();

+        executeImport();

+        executeContextCasting();

+    }

+
+    private void executeClassLoader() throws Exception
     {
         try
         {
@@ -81,7 +93,7 @@
         }
     }
 
-    public void testHomeDirectory() throws Exception
+    private void executeHomeDirectory() throws Exception
     {   
         try
         {
@@ -93,7 +105,7 @@
         }
     }
 
-    public void testTempDirectory() throws Exception
+    private void executeTempDirectory() throws Exception
     {
         try
         {
@@ -105,7 +117,7 @@
         }
     }
 
-    public void testPartition() throws Exception
+    private void executePartition() throws Exception
     {
         try
         {
@@ -117,7 +129,7 @@
         }
     }
 
-    public void testAlias() throws Exception
+    private void executeAlias() throws Exception
     {
         //
         // validate context entry lookup using an alias
@@ -131,9 +143,9 @@
         {
             fail( "alias based lookup of the component name" );
         }
-   }
+    }
 
-    public void testVolatile() throws Exception
+    private void executeVolatile() throws Exception
     {
 
         //
@@ -169,7 +181,7 @@
         }
     }
 
-    public void testImport() throws Exception
+    private void executeImport() throws Exception
     {
         //
         // validate an imported context entry
@@ -185,7 +197,7 @@
         }
     }
 
-    public void testContextCasting() throws Exception
+    private void executeContextCasting() throws Exception
     {
         //
         // validate context safe-casting

Modified: 
avalon/trunk/runtime/composition/impl/src/test/org/apache/avalon/composition/model/test/DynamicsTestCase.java
==============================================================================
--- 
avalon/trunk/runtime/composition/impl/src/test/org/apache/avalon/composition/model/test/DynamicsTestCase.java
       (original)
+++ 
avalon/trunk/runtime/composition/impl/src/test/org/apache/avalon/composition/model/test/DynamicsTestCase.java
       Fri Jun 25 03:44:53 2004
@@ -17,9 +17,15 @@
 
 package org.apache.avalon.composition.model.test;
 
-import org.apache.avalon.composition.model.DeploymentModel;
+import org.apache.avalon.composition.data.ComponentProfile;
+import org.apache.avalon.composition.model.DeploymentModel;

+import org.apache.avalon.composition.model.ClassLoaderModel;

+import org.apache.avalon.composition.model.TypeRepository;

+import org.apache.avalon.composition.model.ComponentModel;

+import org.apache.avalon.composition.model.DependencyModel;

 
-import org.apache.avalon.meta.info.ReferenceDescriptor;
+import org.apache.avalon.meta.info.Type;
+import org.apache.avalon.meta.info.ReferenceDescriptor;

 
 import org.apache.avalon.util.exception.ExceptionHelper;
 
@@ -56,8 +62,8 @@
             m_model.assemble();
             String spec = Widget.class.getName();
             ReferenceDescriptor ref = new ReferenceDescriptor( spec );
-            DeploymentModel widget = 
-            m_model.getModel( ref );
+            ComponentModel widget = (ComponentModel) m_model.getModel( ref );

+            validate( widget );

         }
         catch( Throwable e )
         {
@@ -78,8 +84,8 @@
             m_model.assemble();
             String spec = Gizmo.class.getName();
             ReferenceDescriptor ref = new ReferenceDescriptor( spec );
-            DeploymentModel widget = 
-            m_model.getModel( ref );
+            ComponentModel gizmo = (ComponentModel) m_model.getModel( ref );

+            validate( gizmo );

         }
         catch( Throwable e )
         {
@@ -88,5 +94,38 @@
             System.err.println( error );
             fail( error );
         }
-    }
+    }

+

+   /**

+    * Validate a model.

+    */

+    private void validate( ComponentModel model ) throws Exception

+    {

+        try

+        {

+            if( !model.isAssembled() )

+            {

+                fail( "Non-assembled model: " + model );

+            }

+

+            DependencyModel[] dependencies = model.getDependencyModels();

+            for( int i=0; i<dependencies.length; i++ )

+            {

+                DependencyModel dependency = dependencies[i];

+                if( null == dependency.getProvider() )

+                {

+                    fail( 

+                      "Null provider located in an assembled model: " 

+                      + model );

+                }

+            }

+        }

+        catch( Throwable e )

+        {

+            final String message = "Dynamic assembly validation failure";

+            final String error = ExceptionHelper.packException( message, e, true );

+            System.err.println( error );

+            fail( error );

+        }

+    }

 }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to