### Question:
SraReader { public static RunSet readRunSet(final Reader reader) throws IOException { checkNotNull(reader); try { JAXBContext context = JAXBContext.newInstance(RunSet.class); Unmarshaller unmarshaller = context.createUnmarshaller(); SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); URL commonSchemaURL = SraReader.class.getResource("/org/nmdp/ngs/sra/xsd/SRA.common.xsd"); URL runSchemaURL = SraReader.class.getResource("/org/nmdp/ngs/sra/xsd/SRA.run.xsd"); Schema schema = schemaFactory.newSchema(new StreamSource[] { new StreamSource(commonSchemaURL.toString()), new StreamSource(runSchemaURL.toString()) }); unmarshaller.setSchema(schema); return (RunSet) unmarshaller.unmarshal(reader); } catch (JAXBException | SAXException e) { throw new IOException("could not unmarshal RunSet", e); } }  static Analysis readAnalysis(final Reader reader); static Analysis readAnalysis(final File file); static Analysis readAnalysis(final URL url); static Analysis readAnalysis(final InputStream inputStream); static Experiment readExperiment(final Reader reader); static Experiment readExperiment(final File file); static Experiment readExperiment(final URL url); static Experiment readExperiment(final InputStream inputStream); static RunSet readRunSet(final Reader reader); static RunSet readRunSet(final File file); static RunSet readRunSet(final URL url); static RunSet readRunSet(final InputStream inputStream); static Sample readSample(final Reader reader); static Sample readSample(final File file); static Sample readSample(final URL url); static Sample readSample(final InputStream inputStream); static Study readStudy(final Reader reader); static Study readStudy(final File file); static Study readStudy(final URL url); static Study readStudy(final InputStream inputStream); static Submission readSubmission(final Reader reader); static Submission readSubmission(final File file); static Submission readSubmission(final URL url); static Submission readSubmission(final InputStream inputStream);  }### Answer:
@Test(expected=NullPointerException.class) public void testReadRunSetNullReader() throws Exception { readRunSet((Reader) null); }
@Test(expected=NullPointerException.class) public void testReadRunSetNullFile() throws Exception { readRunSet((File) null); }
@Test(expected=NullPointerException.class) public void testReadRunSetNullURL() throws Exception { readRunSet((URL) null); }
@Test(expected=NullPointerException.class) public void testReadRunSetNullInputStream() throws Exception { readRunSet((InputStream) null); }
@Test public void testReadRunSetFile() throws Exception { validate(readRunSet(createFile("sra-run-example.xml"))); }
@Test(expected=IOException.class) public void testReadRunSetEmptyFile() throws Exception { readRunSet(createFile("empty.xml")); }
@Test(expected=IOException.class) public void testReadRunSetInvalidSyntaxFile() throws Exception { readRunSet(createFile("invalid-run-syntax.xml")); }
@Test(expected=IOException.class) public void testReadRunSetInvalidSchemaFile() throws Exception { readRunSet(createFile("invalid-run-schema.xml")); }
@Test public void testReadRunSetURL() throws Exception { validate(readRunSet(createURL("sra-run-example.xml"))); }
@Test public void testReadRunSetInputStream() throws Exception { validate(readRunSet(createInputStream("sra-run-example.xml"))); }