package org.oddjob.values.types; import java.text.ParseException; import junit.framework.TestCase; import org.apache.log4j.Logger; import org.oddjob.OddjobDescriptorFactory; import org.oddjob.arooa.ArooaDescriptor; import org.oddjob.arooa.ArooaParseException; import org.oddjob.arooa.ArooaType; import org.oddjob.arooa.design.DesignInstance; import org.oddjob.arooa.design.DesignParser; import org.oddjob.arooa.design.view.ViewMainHelper; import org.oddjob.arooa.standard.StandardArooaSession; import org.oddjob.arooa.xml.XMLConfiguration; import org.oddjob.tools.OddjobTestHelper; /** * */ public class TokenizerTypeDFTest extends TestCase { private static final Logger logger = Logger.getLogger(TokenizerTypeDFTest.class); public void setUp() { logger.debug("========================== " + getName() + "===================" ); } DesignInstance design; public void testCreate() throws ArooaParseException, ParseException { String xml = "<tokenizer text='1|^2|3^|^!^4^'" + " delimiter='|' quote='^' escape='!' regexp='false'/>"; ArooaDescriptor descriptor = new OddjobDescriptorFactory().createDescriptor(null); DesignParser parser = new DesignParser( new StandardArooaSession(descriptor)); parser.setArooaType(ArooaType.VALUE); parser.parse(new XMLConfiguration("TEST", xml)); design = parser.getDesign(); assertEquals(TokenizerDesign.class, design.getClass()); TokenizerType test = (TokenizerType) OddjobTestHelper.createValueFromConfiguration( design.getArooaContext().getConfigurationNode()); assertEquals("1|^2|3^|^!^4^", test.getText()); assertEquals("|", test.getDelimiter()); assertEquals(new Character('^'), test.getQuote()); assertEquals(new Character('!'), test.getEscape()); assertEquals(false, test.isRegexp()); String[] result = test.parse(); assertEquals("1", result[0]); assertEquals("2|3", result[1]); assertEquals("^4", result[2]); } public static void main(String args[]) throws ArooaParseException, ParseException { TokenizerTypeDFTest test = new TokenizerTypeDFTest(); test.testCreate(); ViewMainHelper view = new ViewMainHelper(test.design); view.run(); } }