### Question:
LocationUtil { public static URL urlForResource(String location) throws MalformedURLException, FileNotFoundException { if (location == null) { throw new NullPointerException("location is required"); } URL url = null; if (!location.matches(SCHEME_PATTERN)) { url = Loader.getResourceBySelfClassLoader(location); } else if (location.startsWith(CLASSPATH_SCHEME)) { String path = location.substring(CLASSPATH_SCHEME.length()); if (path.startsWith("/")) { path = path.substring(1); } if (path.length() == 0) { throw new MalformedURLException("path is required"); } url = Loader.getResourceBySelfClassLoader(path); } else { url = new URL(location); } if (url == null) { throw new FileNotFoundException(location); } return url; }  static URL urlForResource(String location); static final String SCHEME_PATTERN; static final String CLASSPATH_SCHEME; }### Answer:
@Test public void testExplicitClasspathUrl() throws Exception { URL url = LocationUtil.urlForResource( LocationUtil.CLASSPATH_SCHEME + TEST_CLASSPATH_RESOURCE); validateResource(url); }
@Test public void testExplicitClasspathUrlWithLeadingSlash() throws Exception { URL url = LocationUtil.urlForResource( LocationUtil.CLASSPATH_SCHEME + "/" + TEST_CLASSPATH_RESOURCE); validateResource(url); }
@Test public void testImplicitClasspathUrl() throws Exception { URL url = LocationUtil.urlForResource(TEST_CLASSPATH_RESOURCE); validateResource(url); }
@Test public void testExplicitClasspathUrl() throws Exception { URL url = LocationUtil.urlForResource(LocationUtil.CLASSPATH_SCHEME + TEST_CLASSPATH_RESOURCE); validateResource(url); }
@Test public void testExplicitClasspathUrlWithLeadingSlash() throws Exception { URL url = LocationUtil.urlForResource(LocationUtil.CLASSPATH_SCHEME + "/" + TEST_CLASSPATH_RESOURCE); validateResource(url); }
@Test(expected = MalformedURLException.class) public void testExplicitClasspathUrlEmptyPath() throws Exception { LocationUtil.urlForResource(LocationUtil.CLASSPATH_SCHEME); }
@Test(expected = MalformedURLException.class) public void testExplicitClasspathUrlWithRootPath() throws Exception { LocationUtil.urlForResource(LocationUtil.CLASSPATH_SCHEME + "/"); }