@@ -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