@@ -574,18 +574,48 @@ fn test_slice_2() {
574574 assert_eq ! ( v[ 1 ] , 3 ) ;
575575}
576576
577+ macro_rules! assert_order {
578+ ( Greater , $a: expr, $b: expr) => {
579+ assert_eq!( $a. cmp( $b) , Greater ) ;
580+ assert!( $a > $b) ;
581+ } ;
582+ ( Less , $a: expr, $b: expr) => {
583+ assert_eq!( $a. cmp( $b) , Less ) ;
584+ assert!( $a < $b) ;
585+ } ;
586+ ( Equal , $a: expr, $b: expr) => {
587+ assert_eq!( $a. cmp( $b) , Equal ) ;
588+ assert_eq!( $a, $b) ;
589+ }
590+ }
591+
592+ #[ test]
593+ fn test_total_ord_u8 ( ) {
594+ let c = & [ 1u8 , 2 , 3 ] ;
595+ assert_order ! ( Greater , & [ 1u8 , 2 , 3 , 4 ] [ ..] , & c[ ..] ) ;
596+ let c = & [ 1u8 , 2 , 3 , 4 ] ;
597+ assert_order ! ( Less , & [ 1u8 , 2 , 3 ] [ ..] , & c[ ..] ) ;
598+ let c = & [ 1u8 , 2 , 3 , 6 ] ;
599+ assert_order ! ( Equal , & [ 1u8 , 2 , 3 , 6 ] [ ..] , & c[ ..] ) ;
600+ let c = & [ 1u8 , 2 , 3 , 4 , 5 , 6 ] ;
601+ assert_order ! ( Less , & [ 1u8 , 2 , 3 , 4 , 5 , 5 , 5 , 5 ] [ ..] , & c[ ..] ) ;
602+ let c = & [ 1u8 , 2 , 3 , 4 ] ;
603+ assert_order ! ( Greater , & [ 2u8 , 2 ] [ ..] , & c[ ..] ) ;
604+ }
605+
606+
577607#[ test]
578- fn test_total_ord ( ) {
608+ fn test_total_ord_i32 ( ) {
579609 let c = & [ 1 , 2 , 3 ] ;
580- [ 1 , 2 , 3 , 4 ] [ ..] . cmp ( c ) == Greater ;
610+ assert_order ! ( Greater , & [ 1 , 2 , 3 , 4 ] [ ..] , & c [ .. ] ) ;
581611 let c = & [ 1 , 2 , 3 , 4 ] ;
582- [ 1 , 2 , 3 ] [ ..] . cmp ( c ) == Less ;
612+ assert_order ! ( Less , & [ 1 , 2 , 3 ] [ ..] , & c [ .. ] ) ;
583613 let c = & [ 1 , 2 , 3 , 6 ] ;
584- [ 1 , 2 , 3 , 4 ] [ ..] . cmp ( c ) == Equal ;
614+ assert_order ! ( Equal , & [ 1 , 2 , 3 , 6 ] [ ..] , & c [ .. ] ) ;
585615 let c = & [ 1 , 2 , 3 , 4 , 5 , 6 ] ;
586- [ 1 , 2 , 3 , 4 , 5 , 5 , 5 , 5 ] [ ..] . cmp ( c ) == Less ;
616+ assert_order ! ( Less , & [ 1 , 2 , 3 , 4 , 5 , 5 , 5 , 5 ] [ ..] , & c [ .. ] ) ;
587617 let c = & [ 1 , 2 , 3 , 4 ] ;
588- [ 2 , 2 ] [ ..] . cmp ( c ) == Greater ;
618+ assert_order ! ( Greater , & [ 2 , 2 ] [ ..] , & c [ .. ] ) ;
589619}
590620
591621#[ test]
0 commit comments