public static Expression generateFilterExpression(SearchArgument sarg) {
    return translate(sarg.getExpression(), sarg.getLeaves());
  }
@Test
  public void testLessThanOperand() {
    SearchArgument.Builder builder = SearchArgumentFactory.newBuilder();
    SearchArgument arg =
        builder.startAnd().lessThan("salary", PredicateLeaf.Type.LONG, 3000L).end().build();

    UnboundPredicate expected = Expressions.lessThan("salary", 3000L);
    UnboundPredicate actual =
        (UnboundPredicate) HiveIcebergFilterFactory.generateFilterExpression(arg);

    assertThat(expected.op()).isEqualTo(actual.op());
    assertThat(expected.literal()).isEqualTo(actual.literal());
    assertThat(expected.ref().name()).isEqualTo(actual.ref().name());
  }