|  | @@ -27,6 +27,7 @@ import org.apache.lucene.document.StringField;
 | 
	
		
			
				|  |  |  import org.apache.lucene.document.TextField;
 | 
	
		
			
				|  |  |  import org.apache.lucene.index.IndexReader;
 | 
	
		
			
				|  |  |  import org.apache.lucene.index.IndexWriterConfig;
 | 
	
		
			
				|  |  | +import org.apache.lucene.index.MultiReader;
 | 
	
		
			
				|  |  |  import org.apache.lucene.index.RandomIndexWriter;
 | 
	
		
			
				|  |  |  import org.apache.lucene.index.Term;
 | 
	
		
			
				|  |  |  import org.apache.lucene.search.similarities.BM25Similarity;
 | 
	
	
		
			
				|  | @@ -50,6 +51,39 @@ import java.util.Arrays;
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  public class XCombinedFieldQueryTests extends LuceneTestCase {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    public void testRewrite() throws IOException {
 | 
	
		
			
				|  |  | +        IndexReader reader = new MultiReader();
 | 
	
		
			
				|  |  | +        IndexSearcher searcher = new IndexSearcher(reader);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        BooleanQuery query = new BooleanQuery.Builder()
 | 
	
		
			
				|  |  | +            .add(new XCombinedFieldQuery.Builder()
 | 
	
		
			
				|  |  | +                .addField("field1")
 | 
	
		
			
				|  |  | +                .addField("field2")
 | 
	
		
			
				|  |  | +                .addTerm(new BytesRef("value"))
 | 
	
		
			
				|  |  | +                .build(), BooleanClause.Occur.SHOULD)
 | 
	
		
			
				|  |  | +            .add(new XCombinedFieldQuery.Builder()
 | 
	
		
			
				|  |  | +                .addField("field3")
 | 
	
		
			
				|  |  | +                .addField("field4")
 | 
	
		
			
				|  |  | +                .addTerm(new BytesRef("value"))
 | 
	
		
			
				|  |  | +                .build(), BooleanClause.Occur.SHOULD)
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +        assertEquals(query, searcher.rewrite(query));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        query = new BooleanQuery.Builder()
 | 
	
		
			
				|  |  | +            .add(new XCombinedFieldQuery.Builder()
 | 
	
		
			
				|  |  | +                .addField("field1", 2.0f)
 | 
	
		
			
				|  |  | +                .addField("field2")
 | 
	
		
			
				|  |  | +                .addTerm(new BytesRef("value"))
 | 
	
		
			
				|  |  | +                .build(), BooleanClause.Occur.SHOULD)
 | 
	
		
			
				|  |  | +            .add(new XCombinedFieldQuery.Builder()
 | 
	
		
			
				|  |  | +                .addField("field1", 1.3f)
 | 
	
		
			
				|  |  | +                .addField("field2")
 | 
	
		
			
				|  |  | +                .addTerm(new BytesRef("value"))
 | 
	
		
			
				|  |  | +                .build(), BooleanClause.Occur.SHOULD)
 | 
	
		
			
				|  |  | +            .build();
 | 
	
		
			
				|  |  | +        assertEquals(query, searcher.rewrite(query));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      public void testNormsDisabled() throws IOException {
 | 
	
		
			
				|  |  |          Directory dir = newDirectory();
 | 
	
		
			
				|  |  |          Similarity similarity = randomCompatibleSimilarity();
 |