Skip to content

Commit 0859129

Browse files
Add a test
1 parent ec7afe0 commit 0859129

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

src/internal_queue.rs

+54
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,57 @@ impl<T> SimpleQueue<T> {
4848
}
4949
}
5050
}
51+
52+
#[cfg(test)]
53+
mod test {
54+
use crate::internal_queue::SimpleQueue;
55+
56+
#[allow(clippy::cognitive_complexity)]
57+
#[test]
58+
fn test_simple_queue() {
59+
let mut queue = SimpleQueue::default();
60+
61+
assert_eq!(queue.size(), 0);
62+
assert!(queue.empty());
63+
assert!(queue.front().is_none());
64+
assert!(queue.pop().is_none());
65+
66+
queue.push(123);
67+
68+
assert_eq!(queue.size(), 1);
69+
assert!(!queue.empty());
70+
assert_eq!(queue.front(), Some(&123));
71+
72+
queue.push(456);
73+
74+
assert_eq!(queue.size(), 2);
75+
assert!(!queue.empty());
76+
assert_eq!(queue.front(), Some(&123));
77+
78+
assert_eq!(queue.pop(), Some(&123));
79+
assert_eq!(queue.size(), 1);
80+
assert!(!queue.empty());
81+
assert_eq!(queue.front(), Some(&456));
82+
83+
queue.push(789);
84+
queue.push(789);
85+
queue.push(456);
86+
queue.push(456);
87+
88+
assert_eq!(queue.size(), 5);
89+
assert!(!queue.empty());
90+
assert_eq!(queue.front(), Some(&456));
91+
92+
assert_eq!(queue.pop(), Some(&456));
93+
assert_eq!(queue.size(), 4);
94+
assert!(!queue.empty());
95+
assert_eq!(queue.front(), Some(&789));
96+
97+
queue.clear();
98+
99+
assert_eq!(queue.size(), 0);
100+
assert!(queue.empty());
101+
assert!(queue.front().is_none());
102+
assert!(queue.pop().is_none());
103+
}
104+
}

0 commit comments

Comments
 (0)