@@ -212,6 +212,48 @@ public static void TestingRemoveMethod() {
212
212
Assert . Equal ( 1 , circularBuffer . Pop ( ) ) ;
213
213
Assert . Equal ( 2 , circularBuffer . Pop ( ) ) ;
214
214
Assert . Equal ( 3 , circularBuffer . Pop ( ) ) ;
215
+
216
+ //Test for removing duplicate values of default(T)
217
+ circularBuffer = new CircularBuffer < byte > ( 12 , false ) ;
218
+ circularBuffer . Add ( 1 ) ;
219
+ circularBuffer . Add ( 0 ) ;
220
+ circularBuffer . Add ( 2 ) ;
221
+ circularBuffer . Add ( 0 ) ;
222
+ circularBuffer . Add ( 3 ) ;
223
+ circularBuffer . Add ( 0 ) ;
224
+ circularBuffer . Add ( 4 ) ;
225
+ circularBuffer . Add ( 0 ) ;
226
+ circularBuffer . Add ( 5 ) ;
227
+
228
+ circularBuffer . Remove ( 0 ) ;
229
+ Assert . Equal ( 5 , circularBuffer . Count ) ;
230
+
231
+ Assert . Equal ( 1 , circularBuffer . Pop ( ) ) ;
232
+ Assert . Equal ( 2 , circularBuffer . Pop ( ) ) ;
233
+ Assert . Equal ( 3 , circularBuffer . Pop ( ) ) ;
234
+ Assert . Equal ( 4 , circularBuffer . Pop ( ) ) ;
235
+ Assert . Equal ( 5 , circularBuffer . Pop ( ) ) ;
236
+
237
+ //Test for removing duplicate values of default(T) for strings
238
+ var stringBuffer = new CircularBuffer < string > ( 10 , false ) ;
239
+ stringBuffer . Add ( "one" ) ;
240
+ stringBuffer . Add ( null ) ;
241
+ stringBuffer . Add ( "two" ) ;
242
+ stringBuffer . Add ( null ) ;
243
+ stringBuffer . Add ( "three" ) ;
244
+ stringBuffer . Add ( null ) ;
245
+ stringBuffer . Add ( "four" ) ;
246
+ stringBuffer . Add ( null ) ;
247
+ stringBuffer . Add ( "five" ) ;
248
+
249
+ stringBuffer . Remove ( null ) ;
250
+ Assert . Equal ( 5 , stringBuffer . Count ) ;
251
+
252
+ Assert . Equal ( "one" , stringBuffer . Pop ( ) ) ;
253
+ Assert . Equal ( "two" , stringBuffer . Pop ( ) ) ;
254
+ Assert . Equal ( "three" , stringBuffer . Pop ( ) ) ;
255
+ Assert . Equal ( "four" , stringBuffer . Pop ( ) ) ;
256
+ Assert . Equal ( "five" , stringBuffer . Pop ( ) ) ;
215
257
}
216
258
}
217
259
}
0 commit comments