### Question:
URLResourceHolder implements ResourceHolder<URL> { @Override public ResourceStatus getStatus() { byte[] newHash; try { newHash = hash(url); } catch (IOException x) { return ResourceStatus.REMOVED; } return Arrays.equals(hash, newHash) ? ResourceStatus.UNMODIFIED : ResourceStatus.MODIFIED; } URLResourceHolder(URL url); @Override URL getResource(); @Override ResourceStatus getStatus(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testGetStatus() throws Exception { File file = temp.newFile(); URLResourceHolder a = new URLResourceHolder(file.toURI().toURL()); Assert.assertEquals(ResourceStatus.UNMODIFIED, a.getStatus()); Files.append("test", file, Charsets.UTF_8); Assert.assertEquals(ResourceStatus.MODIFIED, a.getStatus()); Assert.assertTrue(file.delete()); Assert.assertEquals(ResourceStatus.REMOVED, a.getStatus()); }