in crates/datafusion/src/util/expr.rs [218:255]
fn test_convert_various_operators() {
let schema = Arc::new(Schema::new(vec![Field::new("col", DataType::Int32, false)]));
let operators = vec![
(Operator::Lt, ExprOperator::Lt),
(Operator::LtEq, ExprOperator::Lte),
(Operator::Gt, ExprOperator::Gt),
(Operator::GtEq, ExprOperator::Gte),
];
for (op, expected_op) in operators {
let expr = Expr::BinaryExpr(BinaryExpr::new(
Box::new(col("col")),
op,
Box::new(lit(42i32)),
));
let filters = vec![expr];
let result = exprs_to_filters(&filters);
assert_eq!(result.len(), 1);
let expected_filter = HudiFilter {
field_name: schema.field(0).name().to_string(),
operator: expected_op,
field_value: String::from("42"),
};
assert_eq!(
result[0],
(
expected_filter.field_name,
expected_filter.operator.to_string(),
expected_filter.field_value
)
);
}
}