package test.at.gv.egovernment.moa; import java.io.FileInputStream; import java.io.StringReader; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.xml.sax.InputSource; import junit.framework.TestCase; import at.gv.egovernment.moa.util.Constants; import at.gv.egovernment.moa.util.DOMUtils; /** * Base class for MOA test cases. * * Provides some utility functions. * * @author Patrick Peck * @version $Id$ */ public class MOATestCase extends TestCase { protected static final String TESTDATA_ROOT = "data/test/"; /** * Constructor for MOATestCase. * @param arg0 */ public MOATestCase(String name) { super(name); } /** * Parse an XML file non-validating. */ public static Document parseXml(String fileName) throws Exception { return DOMUtils.parseDocument( new FileInputStream(fileName), false, null, null); } /** * Parse an XML validating with a given file name. * * Uses the local schema resources. */ public static Document parseXmlValidating(String fileName) throws Exception { return DOMUtils.parseDocument( new FileInputStream(fileName), true, Constants.ALL_SCHEMA_LOCATIONS, null); } /** * Parse an XML from a String. */ public static Document parseXmlString(String xml) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder; factory.setNamespaceAware(true); builder = factory.newDocumentBuilder(); return builder.parse(new InputSource(new StringReader(xml))); } }