public virtual void TestSpans2()
{
AssumeTrue("Broken scoring: LUCENE-3723", Searcher.Similarity is TFIDFSimilarity);
SpanQuery qA1 = new SpanTermQuery(new Term("gender", "female"));
SpanQuery qA2 = new SpanTermQuery(new Term("first", "james"));
SpanQuery qA = new SpanOrQuery(qA1, new FieldMaskingSpanQuery(qA2, "gender"));
SpanQuery qB = new SpanTermQuery(new Term("last", "jones"));
SpanQuery q = new SpanNearQuery(new SpanQuery[] { new FieldMaskingSpanQuery(qA, "id"), new FieldMaskingSpanQuery(qB, "id") }, -1, false);
Check(q, new int[] { 0, 1, 2, 3 });
Spans span = MultiSpansWrapper.Wrap(Searcher.TopReaderContext, q);
Assert.AreEqual(true, span.Next());
Assert.AreEqual(s(0, 0, 1), s(span));
Assert.AreEqual(true, span.Next());
Assert.AreEqual(s(1, 1, 2), s(span));
Assert.AreEqual(true, span.Next());
Assert.AreEqual(s(2, 0, 1), s(span));
Assert.AreEqual(true, span.Next());
Assert.AreEqual(s(2, 2, 3), s(span));
Assert.AreEqual(true, span.Next());
Assert.AreEqual(s(3, 0, 1), s(span));
Assert.AreEqual(false, span.Next());
}