1pub mod queue;
2
3#[cfg(test)]
4mod tests {
5 use super::*;
6
7 #[test]
8 fn test_queue() {
9 let mut queue = queue::Queue::new();
10
11 assert_eq!(queue.is_empty(), true);
12 assert_eq!(queue.length(), 0);
13
14 queue.enqueue(1);
15 queue.enqueue(2);
16 queue.enqueue(3);
17
18 assert_eq!(queue.is_empty(), false);
19 assert_eq!(queue.length(), 3);
20
21 assert_eq!(queue.dequeue(), Some(1));
22 assert_eq!(queue.dequeue(), Some(2));
23 assert_eq!(queue.dequeue(), Some(3));
24
25 assert_eq!(queue.is_empty(), true);
26 assert_eq!(queue.length(), 0);
27
28 queue.enqueue(1);
30 queue.enqueue(2);
31 queue.enqueue(3);
32
33 assert_eq!(queue.length(), 3);
34
35 for item in queue.iter() {
37 println!("Read-only item: {}", item);
38 }
39
40 assert_eq!(queue.length(), 3);
41 }
42}