@@ -434,29 +434,34 @@ qc::quickcheck! {
434
434
let num_elements = min( k, m as _) ;
435
435
436
436
// Compute the top and bottom k in various combinations
437
- let smallest_by_smallest : Vec <_> = v. iter( ) . cloned( ) . k_smallest( k) . collect( ) ;
438
- let smallest_by_largest : Vec <_> = v. iter( ) . cloned( ) . k_largest_by_key( k, |x| -x) . collect( ) ;
437
+ let smallest = v. iter( ) . cloned( ) . k_smallest( k) ;
438
+ let smallest_by = v. iter( ) . cloned( ) . k_smallest_by( k, Ord :: cmp) ;
439
+ let smallest_by_key = v. iter( ) . cloned( ) . k_smallest_by_key( k, |& x| x) ;
439
440
440
- let largest_by_smallest : Vec <_> = v. iter( ) . cloned( ) . k_smallest_by( k, |a, b| b. cmp( a) ) . collect( ) ;
441
- let largest_by_largest : Vec <_> = v. iter( ) . cloned( ) . k_largest_by( k, Ord :: cmp) . collect( ) ;
441
+ let largest = v. iter( ) . cloned( ) . k_largest( k) ;
442
+ let largest_by = v. iter( ) . cloned( ) . k_largest_by( k, Ord :: cmp) ;
443
+ let largest_by_key = v. iter( ) . cloned( ) . k_largest_by_key( k, |& x| x) ;
442
444
443
445
// Check the variations produce the same answers and that they're right
444
- assert_eq!(
445
- smallest_by_smallest,
446
- smallest_by_largest
447
- ) ;
448
- assert_eq!(
449
- largest_by_smallest,
450
- largest_by_largest
451
- ) ;
452
- assert_eq!(
453
- sorted[ ..num_elements] ,
454
- smallest_by_smallest[ ..] ,
455
- ) ;
456
- it:: assert_equal(
457
- sorted[ sorted. len( ) -num_elements..] . iter( ) . rev( ) ,
458
- largest_by_smallest[ ..] . iter( )
459
- ) ;
446
+ for ( a, b, c, d) in izip!(
447
+ sorted[ ..num_elements] . iter( ) . cloned( ) ,
448
+ smallest,
449
+ smallest_by,
450
+ smallest_by_key) {
451
+ assert_eq!( a, b) ;
452
+ assert_eq!( a, c) ;
453
+ assert_eq!( a, d) ;
454
+ }
455
+
456
+ for ( a, b, c, d) in izip!(
457
+ sorted[ sorted. len( ) -num_elements..] . iter( ) . rev( ) . cloned( ) ,
458
+ largest,
459
+ largest_by,
460
+ largest_by_key) {
461
+ assert_eq!( a, b) ;
462
+ assert_eq!( a, c) ;
463
+ assert_eq!( a, d) ;
464
+ }
460
465
}
461
466
}
462
467
0 commit comments