package edu.sc.seis.sod.validator; import java.io.IOException; import junit.framework.TestCase; import org.xml.sax.InputSource; import org.xml.sax.SAXException; public class ValidatorTest extends TestCase{ public ValidatorTest(String name){ super(name); validator = new Validator("edu/sc/seis/sod/data/validator/simpleSchema.rng"); } public void testInvalid() throws SAXException, IOException{ assertFalse(validator.validate(getIS(invalid), false)); } public void testValid() throws SAXException, IOException{ assertTrue(validator.validate(getIS(valid), false)); } public void testMalformed() throws IOException{ try { validator.validate(getIS(malformed), false); assertTrue("Validate should throw a SAXException on malformed data", false); } catch (SAXException e) { assertTrue(true); } } public void testSimpleSod() throws IOException, SAXException { Validator v = new Validator(); v.validate(getIS(simpleSod), true); } private InputSource getIS(String jarLoc){ InputSource inSource = new InputSource(loader.getResourceAsStream(jarLoc)); inSource.setSystemId(loader.getResource(jarLoc).toString()); return inSource; } private ClassLoader loader = this.getClass().getClassLoader(); private String malformed = "edu/sc/seis/sod/data/validator/malformed.xml"; private String simpleSod = "edu/sc/seis/sod/data/validator/simpleSod.xml"; private String valid = "edu/sc/seis/sod/data/validator/valid.xml"; private String invalid = "edu/sc/seis/sod/data/validator/invalid.xml"; private Validator validator; }