|  | @@ -23,6 +23,7 @@ import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
 | 
	
		
			
				|  |  |  import org.apache.lucene.index.Fields;
 | 
	
		
			
				|  |  |  import org.apache.lucene.index.MultiFields;
 | 
	
		
			
				|  |  |  import org.apache.lucene.index.memory.MemoryIndex;
 | 
	
		
			
				|  |  | +import org.apache.lucene.search.BooleanClause;
 | 
	
		
			
				|  |  |  import org.apache.lucene.search.BooleanQuery;
 | 
	
		
			
				|  |  |  import org.apache.lucene.search.Query;
 | 
	
		
			
				|  |  |  import org.elasticsearch.ElasticsearchException;
 | 
	
	
		
			
				|  | @@ -61,6 +62,7 @@ import java.util.stream.Stream;
 | 
	
		
			
				|  |  |  import static org.elasticsearch.index.query.QueryBuilders.moreLikeThisQuery;
 | 
	
		
			
				|  |  |  import static org.hamcrest.Matchers.containsString;
 | 
	
		
			
				|  |  |  import static org.hamcrest.Matchers.equalTo;
 | 
	
		
			
				|  |  | +import static org.hamcrest.Matchers.greaterThan;
 | 
	
		
			
				|  |  |  import static org.hamcrest.Matchers.instanceOf;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  public class MoreLikeThisQueryBuilderTests extends AbstractQueryTestCase<MoreLikeThisQueryBuilder> {
 | 
	
	
		
			
				|  | @@ -264,6 +266,13 @@ public class MoreLikeThisQueryBuilderTests extends AbstractQueryTestCase<MoreLik
 | 
	
		
			
				|  |  |      protected void doAssertLuceneQuery(MoreLikeThisQueryBuilder queryBuilder, Query query, SearchContext context) throws IOException {
 | 
	
		
			
				|  |  |          if (queryBuilder.likeItems() != null && queryBuilder.likeItems().length > 0) {
 | 
	
		
			
				|  |  |              assertThat(query, instanceOf(BooleanQuery.class));
 | 
	
		
			
				|  |  | +            BooleanQuery booleanQuery = (BooleanQuery) query;
 | 
	
		
			
				|  |  | +            for (BooleanClause booleanClause : booleanQuery) {
 | 
	
		
			
				|  |  | +                if (booleanClause.getQuery() instanceof MoreLikeThisQuery) {
 | 
	
		
			
				|  |  | +                    MoreLikeThisQuery moreLikeThisQuery = (MoreLikeThisQuery) booleanClause.getQuery();
 | 
	
		
			
				|  |  | +                    assertThat(moreLikeThisQuery.getLikeFields().length, greaterThan(0));
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              // we rely on integration tests for a deeper check here
 | 
	
		
			
				|  |  |              assertThat(query, instanceOf(MoreLikeThisQuery.class));
 | 
	
	
		
			
				|  | @@ -310,6 +319,12 @@ public class MoreLikeThisQueryBuilderTests extends AbstractQueryTestCase<MoreLik
 | 
	
		
			
				|  |  |          assertEquals(expectedItem, newItem);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    public void testItemCopy() throws IOException {
 | 
	
		
			
				|  |  | +        Item expectedItem = generateRandomItem();
 | 
	
		
			
				|  |  | +        Item newItem = new Item(expectedItem);
 | 
	
		
			
				|  |  | +        assertEquals(expectedItem, newItem);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      public void testItemFromXContent() throws IOException {
 | 
	
		
			
				|  |  |          Item expectedItem = generateRandomItem();
 | 
	
		
			
				|  |  |          String json = expectedItem.toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS).string();
 |