Update of /cvsroot/xdoclet/generama/src/test/java/org/generama
In directory sc8-pr-cvs1:/tmp/cvs-serv31484/src/test/java/org/generama
Modified Files:
SimpleGeneramaTestCase.java
Added Files:
AbstractGeneramaTestCase.java
Removed Files:
PluginContainerTestCase.java
Log Message:
Big refactoring. Simplifications mostly.
--- NEW FILE: AbstractGeneramaTestCase.java ---
package org.generama;
import junit.framework.TestCase;
import java.io.IOException;
import java.io.Writer;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.extras.BeanPropertyComponentAdapterFactory;
import org.picocontainer.extras.InvokingComponentAdapterFactory;
import org.picocontainer.defaults.DefaultComponentAdapterFactory;
import org.picocontainer.defaults.ComponentAdapterFactory;
import org.picocontainer.defaults.DefaultPicoContainer;
/**
* @author Aslak Hellesøy
* @version $Revision: 1.1 $
*/
public abstract class AbstractGeneramaTestCase extends TestCase {
private MutablePicoContainer pico;
protected abstract Generama createGeneramaWithThreeMetadataObjects();
private final BeanPropertyComponentAdapterFactory beanFactory = new
BeanPropertyComponentAdapterFactory(new DefaultComponentAdapterFactory());
protected void setUp() {
InvokingComponentAdapterFactory invokingFactory = new
InvokingComponentAdapterFactory(beanFactory, "execute", null, null);
ComponentAdapterFactory factory = (invokingFactory);
pico = new DefaultPicoContainer(factory);
Generama generama = createGeneramaWithThreeMetadataObjects();
generama.install(pico);
}
public void testSingleOutputPlugin() {
pico.registerComponentImplementation(SingleOutputPlugin.class);
// subclasses must remember to configure this one when they create a Generama
SingleOutputPlugin plugin = (SingleOutputPlugin)
pico.getComponentInstance(SingleOutputPlugin.class);
assertEquals(1, plugin.getGenerateCount());
}
public void testMultiOutputPlugin() {
pico.registerComponentImplementation(MultiOutputPlugin.class);
// subclasses must remember to configure this one when they create a Generama
MultiOutputPlugin plugin = (MultiOutputPlugin)
pico.getComponentInstance(MultiOutputPlugin.class);
assertEquals(3, plugin.getGenerateCount());
}
public static abstract class TestOutputPlugin extends AbstractPlugin {
private int generateCount;
public TestOutputPlugin(MetadataProvider metadataProvider, WriterMapper
writerMapper) {
super(metadataProvider, writerMapper);
}
public int getGenerateCount() {
return generateCount;
}
public void generate(Writer out, Object metadata) throws IOException,
GeneramaException {
out.write(metadata.toString());
generateCount++;
}
}
public static class MultiOutputPlugin extends TestOutputPlugin {
public MultiOutputPlugin(MetadataProvider metadataProvider, WriterMapper
writerMapper) {
super(metadataProvider, writerMapper);
setMultiOutput(true);
}
}
public static class SingleOutputPlugin extends TestOutputPlugin {
public SingleOutputPlugin(MetadataProvider metadataProvider, WriterMapper
writerMapper) {
super(metadataProvider, writerMapper);
setMultiOutput(false);
}
}
}
Index: SimpleGeneramaTestCase.java
===================================================================
RCS file:
/cvsroot/xdoclet/generama/src/test/java/org/generama/SimpleGeneramaTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** SimpleGeneramaTestCase.java 29 Aug 2003 16:36:33 -0000 1.2
--- SimpleGeneramaTestCase.java 20 Sep 2003 12:24:32 -0000 1.3
***************
*** 1,10 ****
package org.generama;
- import org.picocontainer.defaults.DefaultComponentRegistry;
import org.generama.defaults.StringWriterMapper;
- import java.util.Collection;
- import java.util.Arrays;
-
/**
* @author Aslak Hellesøy
--- 1,6 ----
***************
*** 13,38 ****
public class SimpleGeneramaTestCase extends AbstractGeneramaTestCase {
! public static class DummyMetadataProvider implements MetadataProvider {
! public Collection getMetadata() {
! return Arrays.asList(new String[]{"",""});
! }
! }
!
! protected Generama createGenerama() {
! return new Generama(new DefaultComponentRegistry()) {
! protected Class getMetadataProviderClass() {
! return DummyMetadataProvider.class;
! }
!
! protected Class getWriterMapperClass() {
! return StringWriterMapper.class;
! }
!
! protected void configureComponents() throws Exception {
! super.configureComponents();
! TestPlugin testPlugin = (TestPlugin) getComponent(TestPlugin.class);
! testPlugin.setFilereplace("dummy");
! }
! };
}
}
--- 9,17 ----
public class SimpleGeneramaTestCase extends AbstractGeneramaTestCase {
! protected Generama createGeneramaWithThreeMetadataObjects() {
! Generama generama = new Generama(
! OneTwoThreeStringMetadataProvider.class,
! StringWriterMapper.class);
! return generama;
}
}
--- PluginContainerTestCase.java DELETED ---
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel