viirya commented on code in PR #7885:
URL: https://github.com/apache/arrow-datafusion/pull/7885#discussion_r1367294835
##########
datafusion/physical-expr/src/intervals/interval_aritmetic.rs:
##########
@@ -1079,6 +1089,117 @@ mod tests {
Interval::make(lower, upper, (false, false))
}
+ #[test]
+ fn boolean_interval_test() -> Result<()> {
+ // Demonstrate / document how boolean Intervals work
+ #[derive(Debug)]
+ struct TestCase {
+ lower: bool,
+ upper: bool,
+ /// expected bounds when lower is open, upper is open
+ expected_open_open: (bool, bool),
+ /// expected bounds when lower is open, upper is closed
+ expected_open_closed: (bool, bool),
+ /// expected bounds when lower is closes, upper is open
+ expected_closed_open: (bool, bool),
+ // Not: closed/closed is the same as lower/upper
+ }
+
+ let cases = vec![
Review Comment:
I think they look good according to the rules added above. But unbounded
rules seem not tested?
Also an open `false` upper bound and an open `true` lower bound are not in
the rules. From the test cases, looks like they are not mapped?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]