diff options
| author | Kevin Ballard <kevin@sb.org> | 2014-05-03 16:13:35 -0700 |
|---|---|---|
| committer | Kevin Ballard <kevin@sb.org> | 2014-05-08 12:06:21 -0700 |
| commit | 21dae8e1e0916afd2f789a2f1affdfe580d9ca0e (patch) | |
| tree | aeb73142fbdb6e19ce00251f9f75311d2862c423 /src/libstd/vec.rs | |
| parent | 4af84313d67e3062e43c0123093278b1887cac64 (diff) | |
| download | rust-21dae8e1e0916afd2f789a2f1affdfe580d9ca0e.tar.gz rust-21dae8e1e0916afd2f789a2f1affdfe580d9ca0e.zip | |
More fallout from removing FromIterator on ~[T]
A few methods in slice that used to return ~[T] now return Vec<T>: - VectorVector.concat/connect_vec() returns Vec<T> - slice::unzip() returns (Vec<T>, Vec<U>) - ImmutableCloneableVector.partitioned() returns (Vec<T>, Vec<T>) - OwnedVector.partition() returns (Vec<T>, Vec<T>)
Diffstat (limited to 'src/libstd/vec.rs')
| -rw-r--r-- | src/libstd/vec.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs index af146b96e50..9d83a5848fb 100644 --- a/src/libstd/vec.rs +++ b/src/libstd/vec.rs @@ -1649,4 +1649,42 @@ mod tests { unsafe { v.set_len(0); } assert_eq!(v.mut_iter().len(), 0); } + + #[test] + fn test_partition() { + assert_eq!(vec![].partition(|x: &int| *x < 3), (vec![], vec![])); + assert_eq!(vec![1, 2, 3].partition(|x: &int| *x < 4), (vec![1, 2, 3], vec![])); + assert_eq!(vec![1, 2, 3].partition(|x: &int| *x < 2), (vec![1], vec![2, 3])); + assert_eq!(vec![1, 2, 3].partition(|x: &int| *x < 0), (vec![], vec![1, 2, 3])); + } + + #[test] + fn test_partitioned() { + assert_eq!(([]).partitioned(|x: &int| *x < 3), (vec![], vec![])) + assert_eq!(([1, 2, 3]).partitioned(|x: &int| *x < 4), (vec![1, 2, 3], vec![])); + assert_eq!(([1, 2, 3]).partitioned(|x: &int| *x < 2), (vec![1], vec![2, 3])); + assert_eq!(([1, 2, 3]).partitioned(|x: &int| *x < 0), (vec![], vec![1, 2, 3])); + } + + #[test] + fn test_concat() { + let v: [Vec<int>, ..0] = []; + assert_eq!(v.concat_vec(), vec![]); + assert_eq!([vec![1], vec![2,3]].concat_vec(), vec![1, 2, 3]); + + assert_eq!([&[1], &[2,3]].concat_vec(), vec![1, 2, 3]); + } + + #[test] + fn test_connect() { + let v: [~[int], ..0] = []; + assert_eq!(v.connect_vec(&0), vec![]); + assert_eq!([vec![1], vec![2, 3]].connect_vec(&0), vec![1, 0, 2, 3]); + assert_eq!([vec![1], vec![2], vec![3]].connect_vec(&0), vec![1, 0, 2, 0, 3]); + + let v: [&[int], ..0] = []; + assert_eq!(v.connect_vec(&0), vec![]); + assert_eq!([&[1], &[2, 3]].connect_vec(&0), vec![1, 0, 2, 3]); + assert_eq!([&[1], &[2], &[3]].connect_vec(&0), vec![1, 0, 2, 0, 3]); + } } |
