CVS: jcontainer/loom/engine/src/test/org/jcontainer/loom/components/assembler AssemblerTestCase.java,1.13,1.14
Peter Royal <proyal-yCVjj/[email protected]> Sun, 9 Nov 2003 20:15:15 -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-serv30980/loom/engine/src/test/org/jcontainer/loom/components/assembler Modified Files: AssemblerTestCase.java Log Message: 96.8% on Assembler. It'll be more fun to write tests for an untested package i think :) Index: AssemblerTestCase.java =================================================================== RCS file: /cvsroot/jcontainer/jcontainer/loom/engine/src/test/org/jcontainer/loom/components/assembler/AssemblerTestCase.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- AssemblerTestCase.java 5 Nov 2003 07:27:08 -0000 1.13 +++ AssemblerTestCase.java 10 Nov 2003 02:15:13 -0000 1.14 @@ -26,6 +26,7 @@ import org.jcontainer.loom.components.util.profile.ComponentProfile; import org.jcontainer.loom.components.util.profile.PartitionProfile; import org.jcontainer.loom.interfaces.ContainerConstants; +import org.jcontainer.loom.interfaces.LoomException; import org.xml.sax.InputSource; /** @@ -35,15 +36,8 @@ * @author <a href="mailto:[email protected]">Peter Royal</a> * @version $Revision$ $Date$ */ -public class AssemblerTestCase - extends TestCase +public class AssemblerTestCase extends TestCase { - public void testNoop() - throws Exception - { - - } - public void testBasic() throws Exception { @@ -168,6 +162,31 @@ assertEquals( "Block4 isDisableProxy", false, isProxyDisabled( block4 ) ); } + public void testBuildDependencies() throws Exception + { + final DefaultConfiguration[] provides = new DefaultConfiguration[2]; + final String name0 = "Cheese"; + final String role0 = "market.Cheddar"; + final String name1 = "Bleu"; + final String role1 = "market.blue"; + + provides[0] = new DefaultConfiguration("provide","",""); + provides[0].setAttribute("name", name0); + provides[0].setAttribute("role", role0); + provides[1] = new DefaultConfiguration("provide","",""); + provides[1].setAttribute("name", name1); + provides[1].setAttribute("role",role1); + + final Assembler assembler = new Assembler(); + final DependencyDirective[] directives = assembler.buildDependencies(provides ); + + assertEquals(provides.length, directives.length); + assertEquals( name0,directives[0].getProviderName()); + assertEquals( name1,directives[1].getProviderName()); + assertEquals( role0,directives[0].getKey()); + assertEquals( role1,directives[1].getKey()); + } + public void testBuildDependency() throws Exception { @@ -253,5 +272,38 @@ parameters.put( ContainerConstants.CONFIG_DESCRIPTOR, new DefaultConfiguration( "config", "", "" ) ); parameters.put( ContainerConstants.ASSEMBLY_CLASSLOADER, getClass().getClassLoader() ); return assembler.buildProfile( parameters ); + } + + public void testMalformedBlockListener() throws Exception + { + final DefaultConfiguration listener = new DefaultConfiguration("listner","",""); + final DefaultConfiguration config = new DefaultConfiguration("config","",""); + final Assembler assembler = new Assembler(); + + try + { + assembler.buildBlockListener(listener,config); + fail("buildBlockListner allowed no 'name' attribute"); + } + catch( LoomException e ) + { + assertEquals("Malformed listener entry in assembly.xml at \"\". " + + "(Reason: Attribute named name not specified.).", + e.getMessage()); + } + + listener.setAttribute("name","foo"); + + try + { + assembler.buildBlockListener(listener,config); + fail("buildBlockListner allowed no 'class' attribute"); + } + catch( LoomException e ) + { + assertEquals("Malformed listener entry in assembly.xml at \"\". " + + "(Reason: Attribute named class not specified.).", + e.getMessage()); + } } }