@@ -508,34 +508,24 @@ qc::quickcheck! {
508508 let num_elements = min( k, m as _) ;
509509
510510 // Compute the top and bottom k in various combinations
511+ let sorted_smallest = sorted[ ..num_elements] . iter( ) . cloned( ) ;
511512 let smallest = v. iter( ) . cloned( ) . k_smallest( k) ;
512513 let smallest_by = v. iter( ) . cloned( ) . k_smallest_by( k, Ord :: cmp) ;
513514 let smallest_by_key = v. iter( ) . cloned( ) . k_smallest_by_key( k, |& x| x) ;
514515
516+ let sorted_largest = sorted[ sorted. len( ) - num_elements..] . iter( ) . rev( ) . cloned( ) ;
515517 let largest = v. iter( ) . cloned( ) . k_largest( k) ;
516518 let largest_by = v. iter( ) . cloned( ) . k_largest_by( k, Ord :: cmp) ;
517519 let largest_by_key = v. iter( ) . cloned( ) . k_largest_by_key( k, |& x| x) ;
518520
519521 // 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) ;
529525
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) ;
539529 }
540530}
541531
0 commit comments