@Test
void pushDownFilters() {

  assertThat()
      .pushDown(QueryBuilders.termQuery("name", "John"))
      .shouldQuery(QueryBuilders.termQuery("name", "John"))
      .pushDown(QueryBuilders.termQuery("age", 30))
      .shouldQuery(
          QueryBuilders.boolQuery()
              .filter(QueryBuilders.termQuery("name", "John"))
              .filter(QueryBuilders.termQuery("age", 30)))
      .pushDown(QueryBuilders.rangeQuery("balance").gte(10000))
      .shouldQuery(
          QueryBuilders.boolQuery()
              .filter(QueryBuilders.termQuery("name", "John"))
              .filter(QueryBuilders.termQuery("age", 30))
              .filter(QueryBuilders.rangeQuery("balance").gte(10000)));
}