extern crate sorted; use sorted::*; #[test] fn union_iter() { let v0 = AscendingOrder::by_sorting(vec![1,3,4,5,10]); let v1 = AscendingOrder::by_sorting(vec![0,2,4,4,7,11,23]); let v2 = Sorted::,_>::from_iter(v1.into_iter().union(v0.into_iter())); assert_eq!( [0,1,2,3,4,4,4,5,7,10,11,23], v2.as_slice() ); } #[test] fn difference_iter() { let v0 = AscendingOrder::by_sorting(vec![1,1,2,2,3,4,4,5]); let v1 = AscendingOrder::by_sorting(vec![0,1,3,3,4,7,9]); let v2 = Sorted::,_>::from_iter( v0.into_iter().difference(v1.into_iter()) ); assert_eq!( [2,2,5], v2.as_slice() ); } #[test] fn intersection_iter() { let v0 = AscendingOrder::by_sorting(vec![1,2,5,6,8]); let v1 = AscendingOrder::by_sorting(vec![1,3,6,7]); let v2 = Sorted::,_>::from_iter( v0.into_iter().intersection(v1.into_iter()) ); assert_eq!( [1,6], v2.as_slice() ); }