}
/*
* Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.getFeedLastModified(String)'
*/
public void testGetFeedLastModified() throws IOException, InterruptedException {
ServerBaseEntry e = createServerBaseEntry(ENTRYID,FEEDID);
e.setUpdated(new DateTime(System.currentTimeMillis()-200,0));
StorageEntryWrapper wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);
this.buffer.addEntry(wrapper);
assertEquals(new Long(e.getUpdated().getValue()),this.buffer.getFeedLastModified(FEEDID));
//test update
// force timestamp
e.setUpdated(new DateTime(System.currentTimeMillis()-180,0));
wrapper = new StorageEntryWrapper(e,StorageOperation.UPDATE);
this.buffer.addEntry(wrapper);
Long firstAddTimestamp = new Long(e.getUpdated().getValue());
assertEquals(firstAddTimestamp,this.buffer.getFeedLastModified(FEEDID));
// force timestamp
e.setUpdated(new DateTime(System.currentTimeMillis()-160,0));
assertFalse("updated after add" ,e.getUpdated().equals(this.buffer.getFeedLastModified(FEEDID)));
//insert for other feed
String otherID = "someOtherFeedID";
e.setFeedId(otherID);
// force timestamp
e.setUpdated(new DateTime(System.currentTimeMillis()-140,0));
wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);
this.buffer.addEntry(wrapper);
assertEquals(new Long(e.getUpdated().getValue()),this.buffer.getFeedLastModified(otherID));
assertEquals(firstAddTimestamp,this.buffer.getFeedLastModified(FEEDID));
assertTrue(firstAddTimestamp.equals(this.buffer.getFeedLastModified(FEEDID)));
this.buffer.addDeleted(e.getId(),FEEDID);
// time will be set inside the buffer
assertTrue(firstAddTimestamp < this.buffer.getFeedLastModified(FEEDID));
}