@@ -48,3 +48,57 @@ impl<T> SimpleQueue<T> {
48
48
}
49
49
}
50
50
}
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