Add test for LinkedList clone_from
This commit is contained in:
parent
5055d4b1c6
commit
864e6feaf8
1 changed files with 43 additions and 0 deletions
|
@ -110,6 +110,49 @@ fn test_append() {
|
||||||
check_links(&n);
|
check_links(&n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[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]
|
#[test]
|
||||||
fn test_insert_prev() {
|
fn test_insert_prev() {
|
||||||
let mut m = list_from(&[0, 2, 4, 6, 8]);
|
let mut m = list_from(&[0, 2, 4, 6, 8]);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue