@@ -155,19 +155,63 @@ public static void TestingICollectionImplementation()
155
155
Assert . Equal ( 3 , array [ 0 ] ) ;
156
156
Assert . Equal ( 34 , array [ 1 ] ) ;
157
157
Assert . Equal ( 24 , array [ 2 ] ) ;
158
-
159
- //Testing Remove
160
- Assert . True ( circularBuffer . Remove ( 3 ) ) ;
161
- Assert . False ( circularBuffer . Remove ( 14 ) ) ;
162
158
163
159
//Testing Count
164
- Assert . Equal ( 2 , circularBuffer . Count ) ;
160
+ Assert . Equal ( 3 , circularBuffer . Count ) ;
165
161
//Testing clear
166
162
circularBuffer . Clear ( ) ;
167
163
Assert . Equal ( 0 , circularBuffer . Pop ( ) ) ;
168
164
Assert . Equal ( 0 , circularBuffer . Pop ( ) ) ;
169
165
Assert . Equal ( 0 , circularBuffer . Pop ( ) ) ;
170
166
Assert . Empty ( circularBuffer ) ;
171
167
}
168
+ [ Fact ]
169
+ public static void TestingRemoveMethod ( ) {
170
+ var circularBuffer = new CircularBuffer < byte > ( 5 , false ) ;
171
+ circularBuffer . Add ( 3 ) ;
172
+ circularBuffer . Add ( 34 ) ;
173
+ circularBuffer . Add ( 24 ) ;
174
+ circularBuffer . Add ( 31 ) ;
175
+ circularBuffer . Add ( 14 ) ;
176
+
177
+ //Removing default(T) from the buffer. buffer should not be affected since default is not contained
178
+ circularBuffer . Remove ( default ( byte ) ) ;
179
+ Assert . Equal ( 3 , circularBuffer . Pop ( ) ) ;
180
+ Assert . Equal ( 34 , circularBuffer . Pop ( ) ) ;
181
+ Assert . Equal ( 24 , circularBuffer . Pop ( ) ) ;
182
+ Assert . Equal ( 31 , circularBuffer . Pop ( ) ) ;
183
+ Assert . Equal ( 14 , circularBuffer . Pop ( ) ) ;
184
+
185
+ //Filling the buffer again with some duplicate entries
186
+ circularBuffer . Add ( 3 ) ;
187
+ circularBuffer . Add ( 3 ) ;
188
+ circularBuffer . Add ( 3 ) ;
189
+ circularBuffer . Add ( 31 ) ;
190
+ circularBuffer . Add ( 14 ) ;
191
+
192
+ circularBuffer . Remove ( 3 ) ;
193
+ Assert . Equal ( 5 - 3 , circularBuffer . Count ) ;
194
+
195
+ circularBuffer = new CircularBuffer < byte > ( 3 , false ) ;
196
+ circularBuffer . Add ( 1 ) ;
197
+ circularBuffer . Add ( 2 ) ;
198
+ circularBuffer . Add ( 3 ) ;
199
+ Assert . Equal ( 3 , circularBuffer . Count ) ;
200
+ //Removing elements one by one from the end
201
+ circularBuffer . Remove ( 3 ) ;
202
+ circularBuffer . Remove ( 2 ) ;
203
+ circularBuffer . Remove ( 1 ) ;
204
+ Assert . Empty ( circularBuffer ) ;
205
+ //Adding elements back
206
+ circularBuffer . Add ( 1 ) ;
207
+ circularBuffer . Add ( 2 ) ;
208
+ circularBuffer . Add ( 3 ) ;
209
+ Assert . Equal ( 3 , circularBuffer . Count ) ;
210
+
211
+ //buffer would yield these results if it was poped initially
212
+ Assert . Equal ( 1 , circularBuffer . Pop ( ) ) ;
213
+ Assert . Equal ( 2 , circularBuffer . Pop ( ) ) ;
214
+ Assert . Equal ( 3 , circularBuffer . Pop ( ) ) ;
215
+ }
172
216
}
173
217
}
0 commit comments