### Question:
ArchiveClassPathRoot implements ClasspathRoot { public InputStream getData(final ElementName name) throws IOException { return getResource(name.asInternalName() + ".class"); } ArchiveClassPathRoot(final File file); InputStream getData(final ElementName name); InputStream getResource(final String name); @Override String toString(); Collection<ElementName> classNames();  }### Answer:
@Test public void getDataShouldReturnNullForUnknownClass() throws Exception { assertThat(this.testee.getData(ElementName.fromString("bar"))).isNull(); }
@Test public void getDataShouldReturnInputStreamForAKnownClass() throws Exception { assertThat(this.testee.getData(ElementName.fromString("injar.p1.P1Test"))).isNotNull(); }
@Test public void shouldReturnAReadableInputStream() { final byte[] b = new byte[100]; try { final InputStream actual = this.testee.getData(ElementName.fromString("injar.p1.P1Test")); actual.read(b); } catch (final IOException ex) { fail("IO Exception should not be thrown"); } }