@@ -256,6 +256,7 @@ mod tests {
256
256
use std:: cmp:: Eq ;
257
257
use std:: kinds:: Copy ;
258
258
use std:: int;
259
+ use extra:: test;
259
260
260
261
#[ test]
261
262
fn test_simple ( ) {
@@ -369,6 +370,61 @@ mod tests {
369
370
assert_eq ! ( copy * deq. get( 3 ) , copy d) ;
370
371
}
371
372
373
+ #[ test]
374
+ fn test_add_front_grow ( ) {
375
+ let mut deq = Deque :: new ( ) ;
376
+ for int:: range( 0 , 66 ) |i| {
377
+ deq. add_front ( i) ;
378
+ }
379
+ assert_eq ! ( deq. len( ) , 66 ) ;
380
+
381
+ for int:: range( 0 , 66 ) |i| {
382
+ assert_eq ! ( * deq. get( i) , 65 - i) ;
383
+ }
384
+
385
+ let mut deq = Deque :: new ( ) ;
386
+ for int:: range( 0 , 66 ) |i| {
387
+ deq. add_back( i) ;
388
+ }
389
+
390
+ for int:: range( 0 , 66 ) |i| {
391
+ assert_eq ! ( * deq. get( i) , i) ;
392
+ }
393
+ }
394
+
395
+ #[ bench]
396
+ fn bench_new ( b : & mut test:: BenchHarness ) {
397
+ do b. iter {
398
+ let _ = Deque :: new :: < u64 > ( ) ;
399
+ }
400
+ }
401
+
402
+ #[ bench]
403
+ fn bench_add_back ( b : & mut test:: BenchHarness ) {
404
+ let mut deq = Deque :: new ( ) ;
405
+ do b. iter {
406
+ deq. add_back ( 0 ) ;
407
+ }
408
+ }
409
+
410
+ #[ bench]
411
+ fn bench_add_front ( b : & mut test:: BenchHarness ) {
412
+ let mut deq = Deque :: new ( ) ;
413
+ do b. iter {
414
+ deq. add_front ( 0 ) ;
415
+ }
416
+ }
417
+
418
+ #[ bench]
419
+ fn bench_grow ( b : & mut test:: BenchHarness ) {
420
+ let mut deq = Deque :: new ( ) ;
421
+ do b. iter {
422
+ for 65 . times {
423
+ deq. add_front( 1 ) ;
424
+ }
425
+ }
426
+ }
427
+
372
428
#[ deriving( Eq ) ]
373
429
enum Taggy { One ( int ) , Two ( int , int ) , Three ( int , int , int ) , }
374
430
0 commit comments