@@ -508,34 +508,24 @@ qc::quickcheck! {
508
508
let num_elements = min( k, m as _) ;
509
509
510
510
// Compute the top and bottom k in various combinations
511
+ let sorted_smallest = sorted[ ..num_elements] . iter( ) . cloned( ) ;
511
512
let smallest = v. iter( ) . cloned( ) . k_smallest( k) ;
512
513
let smallest_by = v. iter( ) . cloned( ) . k_smallest_by( k, Ord :: cmp) ;
513
514
let smallest_by_key = v. iter( ) . cloned( ) . k_smallest_by_key( k, |& x| x) ;
514
515
516
+ let sorted_largest = sorted[ sorted. len( ) - num_elements..] . iter( ) . rev( ) . cloned( ) ;
515
517
let largest = v. iter( ) . cloned( ) . k_largest( k) ;
516
518
let largest_by = v. iter( ) . cloned( ) . k_largest_by( k, Ord :: cmp) ;
517
519
let largest_by_key = v. iter( ) . cloned( ) . k_largest_by_key( k, |& x| x) ;
518
520
519
521
// Check the variations produce the same answers and that they're right
520
- for ( a, b, c, d) in izip!(
521
- sorted[ ..num_elements] . iter( ) . cloned( ) ,
522
- smallest,
523
- smallest_by,
524
- smallest_by_key) {
525
- assert_eq!( a, b) ;
526
- assert_eq!( a, c) ;
527
- assert_eq!( a, d) ;
528
- }
522
+ it:: assert_equal( smallest, sorted_smallest. clone( ) ) ;
523
+ it:: assert_equal( smallest_by, sorted_smallest. clone( ) ) ;
524
+ it:: assert_equal( smallest_by_key, sorted_smallest) ;
529
525
530
- for ( a, b, c, d) in izip!(
531
- sorted[ sorted. len( ) -num_elements..] . iter( ) . rev( ) . cloned( ) ,
532
- largest,
533
- largest_by,
534
- largest_by_key) {
535
- assert_eq!( a, b) ;
536
- assert_eq!( a, c) ;
537
- assert_eq!( a, d) ;
538
- }
526
+ it:: assert_equal( largest, sorted_largest. clone( ) ) ;
527
+ it:: assert_equal( largest_by, sorted_largest. clone( ) ) ;
528
+ it:: assert_equal( largest_by_key, sorted_largest) ;
539
529
}
540
530
}
541
531
0 commit comments