/// <summary>
/// static boolean hasPendingDeletes(SegmentInfos infos) {
/// for (SegmentInfo info : infos) {
/// if (info.deletes.Any()) {
/// return true;
/// }
/// }
/// return false;
/// }
///
/// </summary>
internal virtual void Part2(IndexWriter writer, RangeMergePolicy fsmp)
{
for (int x = 20; x < 25; x++)
{
writer.AddDocument(DocHelper.CreateDocument(x, "5", 2));
//System.out.println("numRamDocs(" + x + ")" + writer.numRamDocs());
}
writer.Flush(false, false);
for (int x = 25; x < 30; x++)
{
writer.AddDocument(DocHelper.CreateDocument(x, "5", 2));
//System.out.println("numRamDocs(" + x + ")" + writer.numRamDocs());
}
writer.Flush(false, false);
//System.out.println("infos3:"+writer.SegmentInfos);
Term delterm = new Term("id", "8");
writer.DeleteDocuments(delterm);
//System.out.println("segdels3:" + writer.docWriter.deletesToString());
fsmp.doMerge = true;
fsmp.start = 1;
fsmp.length = 2;
writer.MaybeMerge();
// deletes for info1, the newly created segment from the
// merge should have no deletes because they were applied in
// the merge
//SegmentInfo info1 = writer.SegmentInfos[1];
//Assert.IsFalse(exists(info1, writer.docWriter.segmentDeletes));
//System.out.println("infos4:"+writer.SegmentInfos);
//System.out.println("segdels4:" + writer.docWriter.deletesToString());
}