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 @@ -22,6 +22,31 @@ fn not_nan<T: Float>(x: T) -> NotNan<T> {
22
22
NotNan :: new ( x) . unwrap ( )
23
23
}
24
24
25
+ #[ test]
26
+ fn test_total_order ( ) {
27
+ let numberline = [
28
+ ( -f32:: INFINITY , 0 ) ,
29
+ ( -1.0 , 1 ) ,
30
+ ( -0.0 , 2 ) , ( 0.0 , 2 ) ,
31
+ ( 1.0 , 3 ) ,
32
+ ( f32:: INFINITY , 4 ) ,
33
+ ( f32:: NAN , 5 ) ,
34
+ ( -f32:: NAN , 5 ) ,
35
+ ] ;
36
+
37
+ for & ( fi, i) in & numberline {
38
+ for & ( fj, j) in & numberline {
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) != OrderedFloat ( fj) , i != j) ;
45
+ assert_eq ! ( OrderedFloat ( fi) . cmp( & OrderedFloat ( fj) ) , i. cmp( & j) ) ;
46
+ }
47
+ }
48
+ }
49
+
25
50
#[ test]
26
51
fn ordered_f32_compare_regular_floats ( ) {
27
52
assert_eq ! ( OrderedFloat ( 7.0f32 ) . cmp( & OrderedFloat ( 7.0 ) ) , Equal ) ;
You can’t perform that action at this time.
0 commit comments