Skip to content

Commit 1d91e64

Browse files
committed
Add extend tests for Deque
1 parent 1eb8809 commit 1d91e64

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/deque.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,31 @@ mod tests {
675675
assert_eq!(v.back_mut(), None);
676676
}
677677

678+
#[test]
679+
fn extend() {
680+
let mut v: Deque<i32, 4> = Deque::new();
681+
v.extend(&[1, 2, 3]);
682+
assert_eq!(v.pop_front().unwrap(), 1);
683+
assert_eq!(v.pop_front().unwrap(), 2);
684+
assert_eq!(*v.front().unwrap(), 3);
685+
686+
v.push_back(4).unwrap();
687+
v.extend(&[5, 6]);
688+
assert_eq!(v.pop_front().unwrap(), 3);
689+
assert_eq!(v.pop_front().unwrap(), 4);
690+
assert_eq!(v.pop_front().unwrap(), 5);
691+
assert_eq!(v.pop_front().unwrap(), 6);
692+
assert!(v.pop_front().is_none());
693+
}
694+
695+
#[test]
696+
#[should_panic]
697+
fn extend_panic() {
698+
let mut v: Deque<i32, 4> = Deque::new();
699+
// Is too many elements -> should panic
700+
v.extend(&[1, 2, 3, 4, 5]);
701+
}
702+
678703
#[test]
679704
fn iter() {
680705
let mut v: Deque<i32, 4> = Deque::new();

0 commit comments

Comments
 (0)