*/
@Test
public void testQueryWithFieldsElemMatchAndPositionalOperator() {
Query query = query(where("name").gte("M").lte("T").and("age").not().gt(22));
query.fields().elemMatch("products", where("name").is("milk")).position("comments", 2);
String expected = "{ \"name\" : { \"$gte\" : \"M\" , \"$lte\" : \"T\"} , \"age\" : { \"$not\" : { \"$gt\" : 22}}}";
assertThat(query.getQueryObject().toString(), is(expected));
String expectedFields = "{ \"products\" : { \"$elemMatch\" : { \"name\" : \"milk\"}} , \"comments.$\" : 2}";
assertThat(query.getFieldsObject().toString(), is(expectedFields));