### Question:
LuceneQueryBuilder extends QueryBuilder { @Override protected QueryExpression getRoot() { return super.getRoot(); } LuceneQueryBuilder(IndexSearcher searcher, QNResolver resolver); @Override QueryResult getResult();  }### Answer:
@Test public void testQueryBuilder() { final LuceneQueryBuilder query = new LuceneQueryBuilder(null, null); query.beginAnd() .add(new FieldParam("a", 1)) .add(new FieldParam("b", 2)) .add(new FieldParam("c", 3)) .beginOr() .add(new FieldParam("d1", 1)) .add(new FieldParam("d2", 2)) .add(new FieldParam("d3", 3)) .end(); final QueryExpression root = query.getRoot(); Assert.assertTrue(root != null); Assert.assertEquals(4, root.getChildren().size()); Assert.assertEquals(3, root.getChildren().get(3).getChildren().size()); }