use odsek::*;
fn main() {
let ia = Interval::new(EndpointOC::Closed(1), EndpointOC::Closed(3), "A");
let ib = Interval::new(EndpointOC::Open(2), EndpointOC::Open(4), "B");
let isa = IntervalsSingle::new(ia);
let isb = IntervalsSingle::new(ib);
let result = and(isa, isb).into_iter().collect::<Vec<_>>();
for iv in &result {
println!("{:?}", iv);
}
assert_eq!(result.len(), 1);
assert_eq!(
result[0],
Interval::new(EndpointOC::Open(2), EndpointOC::Closed(3), ("A", "B"))
);
}