use portion_rs::*; #[test] fn intersection_closed() { let x = Portion::closed(3, 6); let y = Portion::closed(4, 8); assert_eq!("[4, 6]", (x & y).to_string()) } #[test] fn intersection_open() { let x = Portion::open(1, 4); let y = Portion::open(2, 5); assert_eq!("(2, 4)", (x & y).to_string()); } #[test] fn intersection_singleton() { let x = Portion::singleton(3); let y = Portion::closed(3, 4); assert_eq!("[3]", (x & y).to_string()); let x = Portion::singleton(3); let y = Portion::openclosed(3, 4); assert_eq!("()", (x & y).to_string()); } #[test] fn intersection_variety() { let x = Portion::openclosed(2, 4); let y = Portion::closed(2, 5); assert_eq!("(2, 4]", (x & y).to_string()); let x = Portion::closedopen(3, 6); let y = Portion::open(2, 4); assert_eq!("[3, 4)", (x & y).to_string()); }