@Test public void cacheShouldDeleteUntouchedEntries() throws Exception { FileSystemCache cache = new FileSystemCache(createTmpFile()); cache.put("foo", c1); cache.put("bar", c2); cache.save(); cache = new FileSystemCache(createTmpFile()); assertTrue(cache.isUpToDate("foo", c1)); cache.save(); assertFalse(cache.isUpToDate("bar", c2)); }
@Test public void cacheShouldFailOnNonExistentEntries() throws Exception { FileSystemCache cache = new FileSystemCache(createTmpFile()); cache.put("foo", c1); cache.save(); cache = new FileSystemCache(createTmpFile()); assertFalse(cache.isUpToDate("bar", c2)); }
@Test public void cacheShouldNotRewriteFileIfAllFilesTouched() throws Exception { FileSystemCache cache = new FileSystemCache(createTmpFile()); cache.put("foo", c1); cache.put("bar", c2); cache.save(); cache = new FileSystemCache(createTmpFile()); tmpFile.delete(); assertTrue(cache.isUpToDate("foo", c1)); assertTrue(cache.isUpToDate("bar", c2)); cache.save(); assertFalse(tmpFile.exists()); }