let expected = [3, 5, 11, 77];
let expected = [3, 5, 11, 77];
- a.intersection(&b).advance(|x| {
- assert_eq!(x, expected[i]);
- i += 1;
- true
- });
- assert_eq!(i, expected.len());
+ let actual = a.intersection(&b).collect::<Vec<uint>>();
+ assert_eq!(actual.as_slice(), expected.as_slice());
- a.difference(&b).advance(|x| {
- assert_eq!(x, expected[i]);
- i += 1;
- true
- });
- assert_eq!(i, expected.len());
+ let actual = a.difference(&b).collect::<Vec<uint>>();
+ assert_eq!(actual.as_slice(), expected.as_slice());
let expected = [1, 5, 11, 14, 220];
let expected = [1, 5, 11, 14, 220];
- a.symmetric_difference(&b).advance(|x| {
- assert_eq!(x, expected[i]);
- i += 1;
- true
- });
- assert_eq!(i, expected.len());
+ let actual = a.symmetric_difference(&b).collect::<Vec<uint>>();
+ assert_eq!(actual.as_slice(), expected.as_slice());
let expected = [1, 3, 5, 9, 11, 13, 19, 24, 160];
let expected = [1, 3, 5, 9, 11, 13, 19, 24, 160];
- a.union(&b).advance(|x| {
- assert_eq!(x, expected[i]);
- i += 1;
- true
- });
- assert_eq!(i, expected.len());
+ let actual = a.union(&b).collect::<Vec<uint>>();
+ assert_eq!(actual.as_slice(), expected.as_slice());