public virtual void TestSnapshotLastCommitTwice()
{
Directory dir = NewDirectory();
IndexWriter writer = new IndexWriter(dir, GetConfig(Random(), DeletionPolicy));
SnapshotDeletionPolicy sdp = (SnapshotDeletionPolicy)writer.Config.DelPolicy;
writer.AddDocument(new Document());
writer.Commit();
IndexCommit s1 = sdp.Snapshot();
IndexCommit s2 = sdp.Snapshot();
Assert.AreSame(s1, s2); // should be the same instance
// create another commit
writer.AddDocument(new Document());
writer.Commit();
// release "s1" should not delete "s2"
sdp.Release(s1);
writer.DeleteUnusedFiles();
CheckSnapshotExists(dir, s2);
writer.Dispose();
dir.Dispose();
}