| use itertools::{assert_equal, Itertools}; |
| use std::{ops::Range, vec::IntoIter}; |
| fn mix_data() -> IntoIter<Result<Range<i32>, bool>> { |
| vec![Ok(0..2), Err(false), Ok(2..4), Err(true), Ok(4..6)].into_iter() |
| fn ok_data() -> IntoIter<Result<Range<i32>, bool>> { |
| vec![Ok(0..2), Ok(2..4), Ok(4..6)].into_iter() |
| fn flatten_ok_mixed_expected_forward() { |
| fn flatten_ok_mixed_expected_reverse() { |
| mix_data().flatten_ok().rev(), |
| fn flatten_ok_collect_mixed_forward() { |
| mix_data().flatten_ok().collect::<Result<Vec<_>, _>>(), |
| fn flatten_ok_collect_mixed_reverse() { |
| mix_data().flatten_ok().rev().collect::<Result<Vec<_>, _>>(), |
| fn flatten_ok_collect_ok_forward() { |
| ok_data().flatten_ok().collect::<Result<Vec<_>, _>>(), |
| fn flatten_ok_collect_ok_reverse() { |
| ok_data().flatten_ok().rev().collect::<Result<Vec<_>, _>>(), |
| Ok((0..6).rev().collect()) |