File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,31 @@ fn not_nan<T: FloatCore>(x: T) -> NotNan<T> {
2121 NotNan :: new ( x) . unwrap ( )
2222}
2323
24+ #[ test]
25+ fn test_total_order ( ) {
26+ let numberline = [
27+ ( -f32:: INFINITY , 0 ) ,
28+ ( -1.0 , 1 ) ,
29+ ( -0.0 , 2 ) , ( 0.0 , 2 ) ,
30+ ( 1.0 , 3 ) ,
31+ ( f32:: INFINITY , 4 ) ,
32+ ( f32:: NAN , 5 ) ,
33+ ( -f32:: NAN , 5 ) ,
34+ ] ;
35+
36+ for & ( fi, i) in & numberline {
37+ for & ( fj, j) in & numberline {
38+ assert_eq ! ( OrderedFloat ( fi) < OrderedFloat ( fj) , i < j) ;
39+ assert_eq ! ( OrderedFloat ( fi) > OrderedFloat ( fj) , i > j) ;
40+ assert_eq ! ( OrderedFloat ( fi) <= OrderedFloat ( fj) , i <= j) ;
41+ assert_eq ! ( OrderedFloat ( fi) >= OrderedFloat ( fj) , i >= j) ;
42+ assert_eq ! ( OrderedFloat ( fi) == OrderedFloat ( fj) , i == j) ;
43+ assert_eq ! ( OrderedFloat ( fi) != OrderedFloat ( fj) , i != j) ;
44+ assert_eq ! ( OrderedFloat ( fi) . cmp( & OrderedFloat ( fj) ) , i. cmp( & j) ) ;
45+ }
46+ }
47+ }
48+
2449#[ test]
2550fn ordered_f32_compare_regular_floats ( ) {
2651 assert_eq ! ( OrderedFloat ( 7.0f32 ) . cmp( & OrderedFloat ( 7.0 ) ) , Equal ) ;
You can’t perform that action at this time.
0 commit comments