donaldp 2002/10/01 00:30:25
Modified: src/test/org/apache/avalon/phoenix/components/application/test
ApplicationTestCase.java
Added: src/test/org/apache/avalon/phoenix/components/application/test
assembly3.xml
src/test/org/apache/avalon/phoenix/test/data Component4.java
Component4.xinfo
Log:
Add in a unit test to test Map dependencies.
Revision Changes Path
1.2 +8 -20
jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/components/application/test/ApplicationTestCase.java
Index: ApplicationTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/components/application/test/ApplicationTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ApplicationTestCase.java 1 Oct 2002 06:19:50 -0000 1.1
+++ ApplicationTestCase.java 1 Oct 2002 07:30:24 -0000 1.2
@@ -7,28 +7,10 @@
*/
package org.apache.avalon.phoenix.components.application.test;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import junit.framework.TestCase;
-import org.apache.avalon.excalibur.io.FileUtil;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
-import org.apache.avalon.phoenix.components.logger.DefaultLogManager;
import org.apache.avalon.phoenix.components.application.DefaultApplication;
-import org.apache.avalon.phoenix.interfaces.LogManager;
-import org.apache.avalon.phoenix.interfaces.ApplicationContext;
-import org.apache.avalon.phoenix.metadata.BlockListenerMetaData;
-import org.apache.avalon.phoenix.metadata.BlockMetaData;
import org.apache.avalon.phoenix.metadata.SarMetaData;
import org.apache.avalon.phoenix.test.AbstractContainerTestCase;
-import org.apache.excalibur.threadcontext.ThreadContext;
-import org.apache.excalibur.threadcontext.impl.DefaultThreadContextPolicy;
/**
* An basic test case for the LogManager.
@@ -50,10 +32,16 @@
runApplicationTest( "assembly1.xml" );
}
- public void testComplex()
+ public void testArrayAssembly()
throws Exception
{
runApplicationTest( "assembly2.xml" );
+ }
+
+ public void testMapAssembly()
+ throws Exception
+ {
+ runApplicationTest( "assembly3.xml" );
}
private void runApplicationTest( final String config )
1.1
jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/components/application/test/assembly3.xml
Index: assembly3.xml
===================================================================
<?xml version="1.0"?>
<!DOCTYPE assembly PUBLIC "-//PHOENIX/Assembly DTD Version 1.0//EN"
"http://jakarta.apache.org/avalon/dtds/phoenix/assembly_1.0.dtd">
<assembly>
<block class="org.apache.avalon.phoenix.test.data.Component2"
name="c2a"/>
<block class="org.apache.avalon.phoenix.test.data.Component2"
name="c2b"/>
<block class="org.apache.avalon.phoenix.test.data.Component2"
name="c2c"/>
<block class="org.apache.avalon.phoenix.test.data.Component4"
name="c3">
<provide name="c2a"
role="org.apache.avalon.phoenix.test.data.Service2#"/>
<provide name="c2b"
role="org.apache.avalon.phoenix.test.data.Service2#"/>
<provide name="c2c"
alias="fred"
role="org.apache.avalon.phoenix.test.data.Service2#"/>
</block>
</assembly>
1.1
jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/test/data/Component4.java
Index: Component4.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.phoenix.test.data;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.ServiceException;
import java.util.Arrays;
import java.util.Map;
/**
* A test component.
*
* @author <a href="mailto:peter at apache.org">Peter Donald</a>
* @version $Revision: 1.1 $ $Date: 2002/10/01 07:30:25 $
*/
public class Component4
implements Serviceable
{
public void service( final ServiceManager manager )
throws ServiceException
{
final Map services =
(Map)manager.lookup( Service2.ROLE + "#" );
System.out.println( "Passed the following services: " +
services );
final int size = services.size();
if( 3 != size )
{
final String message =
"Expected to get 3 services but got " + size;
throw new ServiceException( message );
}
checkService( "c2a", services );
checkService( "c2b", services );
checkService( "fred", services );
}
private void checkService( final String name, final Map services ) throws
ServiceException
{
final Object service1 = services.get( name );
if( null == service1 )
{
final String message =
"Expected to get service " + name;
throw new ServiceException( message );
}
else if( !( service1 instanceof Service2 ) )
{
final String message =
"Expected to service " + name +
" to be of type Service2 but was " +
"of type: " + service1.getClass().getName();
throw new ServiceException( message );
}
}
}
1.1
jakarta-avalon-phoenix/src/test/org/apache/avalon/phoenix/test/data/Component4.xinfo
Index: Component4.xinfo
===================================================================
<?xml version="1.0"?>
<!DOCTYPE blockinfo PUBLIC "-//PHOENIX/Block Info DTD Version 1.0//EN"
"http://jakarta.apache.org/avalon/dtds/phoenix/blockinfo_1.0.dtd">
<blockinfo>
<!-- section to describe block -->
<block>
<version>1.0</version>
</block>
<!-- services that are required by this block -->
<dependencies>
<dependency>
<service name="org.apache.avalon.phoenix.test.data.Service2#"/>
</dependency>
</dependencies>
</blockinfo>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>