Update of /cvsroot/xdoclet/generama/src/test/java/org/generama In directory sc8-pr-cvs1:/tmp/cvs-serv12006/test/java/org/generama
Modified Files: MemoryJellyPluginTestCase.java MemoryVelocityPluginTestCase.java Added Files: GeneramaTestCase.java OneTwoThreeStringMetadataProvider.java Log Message: More refactorings. Generama is nearly completely refactored and completed. All TDD. --- NEW FILE: GeneramaTestCase.java --- package org.generama; import junit.framework.TestCase; import java.util.Map; import java.util.HashMap; import java.io.Writer; import java.io.IOException; import java.io.StringWriter; import org.generama.defaults.SystemOutWriterMapper; /** * * @author Aslak Hellesøy * @version $Revision: 1.1 $ */ public class GeneramaTestCase extends TestCase { class TestPlugin extends AbstractPlugin { private int generateCount; public void generate(Writer out, Object metadata) throws IOException, GeneramaException { out.write(metadata.toString()); generateCount++; } public int getGenerateCount() { return generateCount; } } private Generama generama; public void setUp() { MetadataProvider metadataProvider = new OneTwoThreeStringMetadataProvider(); generama = new Generama(metadataProvider); } public void testBraceInFileNamePluginIsInvokedOncePerObjectInCollection() throws IOException, GeneramaException { TestPlugin plugin = new TestPlugin(); plugin.setFileName("Foo{0}Bar.txt"); generama.addPlugin(plugin, new SystemOutWriterMapper()); generama.execute(); assertEquals(3, plugin.getGenerateCount()); } public void testNoBraceInFileNamePluginIsInvokedOnce() throws IOException, GeneramaException { TestPlugin plugin = new TestPlugin(); plugin.setFileName("FooBar.txt"); generama.addPlugin(plugin, new SystemOutWriterMapper()); generama.execute(); assertEquals(1, plugin.getGenerateCount()); } public void testPluginIsToldToWriteToProperWriter() throws IOException, GeneramaException { Writer forOne = new StringWriter(); Writer forTwo = new StringWriter(); Writer forThree = new StringWriter(); final Map writers = new HashMap(); writers.put("One", forOne); writers.put("Two", forTwo); writers.put("Three", forThree); WriterMapper presetWriterMapper; presetWriterMapper = new WriterMapper() { public Writer getWriter(Object o) { return (Writer) writers.get(o); } }; TestPlugin plugin = new TestPlugin(); plugin.setFileName("Dummy{0}"); generama.addPlugin(plugin, presetWriterMapper); generama.execute(); assertEquals( "One", forOne.toString() ); assertEquals( "Two", forTwo.toString() ); assertEquals( "Three", forThree.toString() ); } } --- NEW FILE: OneTwoThreeStringMetadataProvider.java --- package org.generama; import java.util.Collection; import java.util.ArrayList; /** * Very simple implementation of MetadataProvider used throughout the test suite. * * @author Aslak Hellesøy * @version $Revision: 1.1 $ */ public class OneTwoThreeStringMetadataProvider implements MetadataProvider { public Collection createMetadata() { Collection result = new ArrayList(); result.add("One"); result.add("Two"); result.add("Three"); return result; } } Index: MemoryJellyPluginTestCase.java =================================================================== RCS file: /cvsroot/xdoclet/generama/src/test/java/org/generama/MemoryJellyPluginTestCase.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MemoryJellyPluginTestCase.java 17 Aug 2003 18:32:44 -0000 1.1 --- MemoryJellyPluginTestCase.java 20 Aug 2003 14:21:16 -0000 1.2 *************** *** 2,5 **** --- 2,6 ---- import org.generama.mock.protocol.memory.HandlerTestCase; + import org.generama.tests.AbstractXMLGeneratingPluginTestCase; import java.util.Collection; *************** *** 40,47 **** protected Object createMetadata() { ! Collection result = new ArrayList(); ! result.add("Aslak"); ! result.add("Hellesoy"); ! return result; } --- 41,45 ---- protected Object createMetadata() { ! return new OneTwoThreeStringMetadataProvider().createMetadata(); } *************** *** 49,54 **** return new StringReader("" + "<jellytest>" ! + " <item>Aslak</item>" ! + " <item>Hellesoy</item>" + "</jellytest>" ); --- 47,53 ---- return new StringReader("" + "<jellytest>" ! + " <item>One</item>" ! + " <item>Two</item>" ! + " <item>Three</item>" + "</jellytest>" ); Index: MemoryVelocityPluginTestCase.java =================================================================== RCS file: /cvsroot/xdoclet/generama/src/test/java/org/generama/MemoryVelocityPluginTestCase.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MemoryVelocityPluginTestCase.java 17 Aug 2003 18:32:44 -0000 1.1 --- MemoryVelocityPluginTestCase.java 20 Aug 2003 14:21:16 -0000 1.2 *************** *** 1,11 **** package org.generama; - import org.generama.Plugin; - import org.generama.VelocityPlugin; - import org.generama.AbstractTextGeneratingPluginTestCase; import org.generama.velocity.MemoryVelocityComponent; - import java.util.Collection; - import java.util.ArrayList; import java.io.Reader; import java.io.StringReader; --- 1,7 ---- package org.generama; import org.generama.velocity.MemoryVelocityComponent; + import org.generama.tests.AbstractTextGeneratingPluginTestCase; import java.io.Reader; import java.io.StringReader; *************** *** 34,41 **** protected Object createMetadata() { ! Collection result = new ArrayList(); ! result.add("Aslak"); ! result.add("Hellesoy"); ! return result; } --- 30,34 ---- protected Object createMetadata() { ! return new OneTwoThreeStringMetadataProvider().createMetadata(); } *************** *** 43,48 **** return new StringReader("" + "velocitytest\n" ! + "o Aslak\n" ! + "o Hellesoy\n" ); } --- 36,42 ---- return new StringReader("" + "velocitytest\n" ! + "o One\n" ! + "o Two\n" ! + "o Three\n" ); } ------------------------------------------------------- This SF.net email is sponsored by Dice.com. Did you know that Dice has over 25,000 tech jobs available today? From careers in IT to Engineering to Tech Sales, Dice has tech jobs from the best hiring companies. http://www.dice.com/index.epl?rel_code=104 _______________________________________________ xdoclet-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-devel