### Question:
FileArchive implements Archive { public InputStream getBytecode(String className) throws IOException, ClassNotFoundException { int pos = className.indexOf("<"); if (pos > -1) { className = className.substring(0, pos); } pos = className.indexOf(">"); if (pos > -1) { className = className.substring(0, pos); } if (!className.endsWith(".class")) { className = className.replace('.', '/') + ".class"; } if (mjar.isMjar()) { final MJarSupport.Clazz resource = mjar.getClasses().get(className); if (resource != null) { className = resource.getPath() + ".class"; } } URL resource = loader.getResource(className); if (resource != null) return new BufferedInputStream(resource.openStream()); throw new ClassNotFoundException(className); } FileArchive(ClassLoader loader, URL url);  FileArchive(ClassLoader loader, File dir);  FileArchive(ClassLoader loader, URL url, String basePackage);  FileArchive(ClassLoader loader, File dir, String basePackage); File getDir(); InputStream getBytecode(String className); Class<?> loadClass(String className); Iterator<Entry> iterator(); Iterator<String> _iterator(); static String decode(String fileName);  }### Answer:
@Test public void testGetBytecode() throws Exception { for (Class clazz : classes) { assertNotNull(clazz.getName(), archive.getBytecode(clazz.getName())); } try { archive.getBytecode("Fake"); fail("ClassNotFoundException should have been thrown"); } catch (ClassNotFoundException e) { } }