CVS: jcontainer/loom/engine/src/test/org/jcontainer/loom/components/assembler AssemblerTestCase.java,1.12,1.13

Peter Donald <pdonald-yCVjj/[email protected]> Wed, 5 Nov 2003 01:27:12 -0600
Newsgroups gmane.comp.java.jcontainer.cvs
Message-ID <[email protected]>
Update of /cvsroot/jcontainer/jcontainer/loom/engine/src/test/org/jcontainer/loom/components/assembler
In directory hogshead.codehaus.org:/tmp/cvs-serv20491/src/test/org/jcontainer/loom/components/assembler

Modified Files:
	AssemblerTestCase.java 
Log Message:
Add in sample test case that does what I consider  "good" practices


Index: AssemblerTestCase.java
===================================================================
RCS file: /cvsroot/jcontainer/jcontainer/loom/engine/src/test/org/jcontainer/loom/components/assembler/AssemblerTestCase.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- AssemblerTestCase.java	5 Nov 2003 03:42:12 -0000	1.12
+++ AssemblerTestCase.java	5 Nov 2003 07:27:08 -0000	1.13
@@ -12,6 +12,7 @@
 import java.util.Map;
 import junit.framework.TestCase;
 import org.jcontainer.dna.Configuration;
+import org.jcontainer.dna.ConfigurationException;
 import org.jcontainer.dna.impl.ConsoleLogger;
 import org.jcontainer.dna.impl.DefaultConfiguration;
 import org.jcontainer.loom.components.assembler.data.Component1;
@@ -165,6 +166,75 @@
         assertTrue( "Block4 getBlockInfo non null",
                     null != block4.getInfo() );
         assertEquals( "Block4 isDisableProxy", false, isProxyDisabled( block4 ) );
+    }
+
+    public void testBuildDependency()
+        throws Exception
+    {
+        final String name = "Blah";
+        final String alias = name;
+        final String role = "com.biz.Service";
+        final Assembler assembler = new Assembler();
+        final DefaultConfiguration provide = new DefaultConfiguration( "provide", "", "" );
+        provide.setAttribute( "name", name );
+        provide.setAttribute( "role", role );
+        final DependencyDirective directive =
+            assembler.buildDependency( provide );
+        assertEquals( "name", name, directive.getProviderName() );
+        assertEquals( "role", role, directive.getKey() );
+        assertEquals( "alias", alias, directive.getAlias() );
+    }
+
+    public void testBuildDependencyThatSpecifiesAlias()
+        throws Exception
+    {
+        final String name = "Blah";
+        final String alias = "Blee";
+        final String role = "com.biz.Service";
+        final Assembler assembler = new Assembler();
+        final DefaultConfiguration provide = new DefaultConfiguration( "provide", "", "" );
+        provide.setAttribute( "name", name );
+        provide.setAttribute( "role", role );
+        provide.setAttribute( "alias", alias );
+        final DependencyDirective directive =
+            assembler.buildDependency( provide );
+        assertEquals( "name", name, directive.getProviderName() );
+        assertEquals( "role", role, directive.getKey() );
+        assertEquals( "alias", alias, directive.getAlias() );
+    }
+
+    public void testBuildDependencyThatMissesName()
+        throws Exception
+    {
+        final Assembler assembler = new Assembler();
+        final DefaultConfiguration provide = new DefaultConfiguration( "provide", "", "" );
+        provide.setAttribute( "role", "com.biz.Service" );
+        try
+        {
+            assembler.buildDependency( provide );
+        }
+        catch( final ConfigurationException ce )
+        {
+            return;
+        }
+        fail( "Expected ConfigurationException due to missing name" );
+    }
+
+    public void testBuildDependencyThatMissesRole()
+        throws Exception
+    {
+        final Assembler assembler = new Assembler();
+        final DefaultConfiguration provide = new DefaultConfiguration( "provide", "", "" );
+        provide.setAttribute( "name", "MyService" );
+        try
+        {
+            assembler.buildDependency( provide );
+        }
+        catch( final ConfigurationException ce )
+        {
+            return;
+        }
+        fail( "Expected ConfigurationException due to missing role" );
     }
 
     protected PartitionProfile assembleSar( final String config )