diff options
| author | Charles Gleason <charles_gleason@alumni.brown.edu> | 2019-10-02 15:18:31 -0400 |
|---|---|---|
| committer | Charles Gleason <charles_gleason@alumni.brown.edu> | 2019-10-02 15:18:31 -0400 |
| commit | 864e6feaf857f4a48ace3eafd2003a32ac46602b (patch) | |
| tree | a18f833ae0f80d38680192a669963252609753dc /src/liballoc | |
| parent | 5055d4b1c6d7dedaec015e4ba9d96c94b1d978fd (diff) | |
| download | rust-864e6feaf857f4a48ace3eafd2003a32ac46602b.tar.gz rust-864e6feaf857f4a48ace3eafd2003a32ac46602b.zip | |
Add test for LinkedList clone_from
Diffstat (limited to 'src/liballoc')
| -rw-r--r-- | src/liballoc/collections/linked_list/tests.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/liballoc/collections/linked_list/tests.rs b/src/liballoc/collections/linked_list/tests.rs index ecb5948f11b..1001f6bba3b 100644 --- a/src/liballoc/collections/linked_list/tests.rs +++ b/src/liballoc/collections/linked_list/tests.rs @@ -111,6 +111,49 @@ fn test_append() { } #[test] +fn test_clone_from() { + // Short cloned from long + { + let v = vec![1, 2, 3, 4, 5]; + let u = vec![8, 7, 6, 2, 3, 4, 5]; + let mut m = list_from(&v); + let n = list_from(&u); + m.clone_from(&n); + check_links(&m); + assert_eq!(m, n); + for elt in u { + assert_eq!(m.pop_front(), Some(elt)) + } + } + // Long cloned from short + { + let v = vec![1, 2, 3, 4, 5]; + let u = vec![6, 7, 8]; + let mut m = list_from(&v); + let n = list_from(&u); + m.clone_from(&n); + check_links(&m); + assert_eq!(m, n); + for elt in u { + assert_eq!(m.pop_front(), Some(elt)) + } + } + // Two equal length lists + { + let v = vec![1, 2, 3, 4, 5]; + let u = vec![9, 8, 1, 2, 3]; + let mut m = list_from(&v); + let n = list_from(&u); + m.clone_from(&n); + check_links(&m); + assert_eq!(m, n); + for elt in u { + assert_eq!(m.pop_front(), Some(elt)) + } + } +} + +#[test] fn test_insert_prev() { let mut m = list_from(&[0, 2, 4, 6, 8]); let len = m.len(); |
