@Test
public void buildCombinedQuery() throws Exception {
String qtext = "hello";
String collection = "myCollection";
QueryOptionsWriteHandle options = buildOptions();
StructuredQueryBuilder sqb = Common.client.newQueryManager().newStructuredQueryBuilder();
StructuredQueryDefinition structuredQuery = sqb.collection(collection);
CombinedQueryBuilderImpl cqb = new CombinedQueryBuilderImpl();
CombinedQueryDefinition query = cqb.combine(structuredQuery, options, qtext);
String expected = buildExpected(qtext, collection);
String serialized = query.serialize();
assertXMLEqual("Output not as expected", expected, serialized);
PojoRepository<City, Integer> cities = Common.client.newPojoRepository(City.class, Integer.class);
PojoQueryBuilder<City> qb = cities.getQueryBuilder();
query = (CombinedQueryDefinition) qb.filteredQuery(qb.word("asciiName", new String[] {"wildcarded"}, 1, "Chittagong*"));
expected = "<?xml version=\"1.0\" ?>" +
"<search xmlns=\"http://marklogic.com/appservices/search\">" +
"<query>" +
"<word-query>" +
"<json-property>asciiName</json-property><text>Chittagong*</text>" +
"<term-option>wildcarded</term-option><weight>1.0</weight>" +
"</word-query>" +
"</query>" +
"<options><search-option>filtered</search-option></options>" +
"</search>";
serialized = query.serialize();
assertXMLEqual("Output not as expected", expected, serialized);
}