@@ -23,9 +23,43 @@ fn creation() {
23
23
#[ test]
24
24
fn secs ( ) {
25
25
assert_eq ! ( Duration :: new( 0 , 0 ) . as_secs( ) , 0 ) ;
26
+ assert_eq ! ( Duration :: new( 0 , 500_000_005 ) . as_secs( ) , 0 ) ;
27
+ assert_eq ! ( Duration :: new( 0 , 1_050_000_001 ) . as_secs( ) , 1 ) ;
26
28
assert_eq ! ( Duration :: from_secs( 1 ) . as_secs( ) , 1 ) ;
27
29
assert_eq ! ( Duration :: from_millis( 999 ) . as_secs( ) , 0 ) ;
28
30
assert_eq ! ( Duration :: from_millis( 1001 ) . as_secs( ) , 1 ) ;
31
+ assert_eq ! ( Duration :: from_micros( 999_999 ) . as_secs( ) , 0 ) ;
32
+ assert_eq ! ( Duration :: from_micros( 1_000_001 ) . as_secs( ) , 1 ) ;
33
+ assert_eq ! ( Duration :: from_nanos( 999_999_999 ) . as_secs( ) , 0 ) ;
34
+ assert_eq ! ( Duration :: from_nanos( 1_000_000_001 ) . as_secs( ) , 1 ) ;
35
+ }
36
+
37
+ #[ test]
38
+ fn millis ( ) {
39
+ assert_eq ! ( Duration :: new( 0 , 0 ) . subsec_millis( ) , 0 ) ;
40
+ assert_eq ! ( Duration :: new( 0 , 500_000_005 ) . subsec_millis( ) , 500 ) ;
41
+ assert_eq ! ( Duration :: new( 0 , 1_050_000_001 ) . subsec_millis( ) , 50 ) ;
42
+ assert_eq ! ( Duration :: from_secs( 1 ) . subsec_millis( ) , 0 ) ;
43
+ assert_eq ! ( Duration :: from_millis( 999 ) . subsec_millis( ) , 999 ) ;
44
+ assert_eq ! ( Duration :: from_millis( 1001 ) . subsec_millis( ) , 1 ) ;
45
+ assert_eq ! ( Duration :: from_micros( 999_999 ) . subsec_millis( ) , 999 ) ;
46
+ assert_eq ! ( Duration :: from_micros( 1_001_000 ) . subsec_millis( ) , 1 ) ;
47
+ assert_eq ! ( Duration :: from_nanos( 999_999_999 ) . subsec_millis( ) , 999 ) ;
48
+ assert_eq ! ( Duration :: from_nanos( 1_001_000_000 ) . subsec_millis( ) , 1 ) ;
49
+ }
50
+
51
+ #[ test]
52
+ fn micros ( ) {
53
+ assert_eq ! ( Duration :: new( 0 , 0 ) . subsec_micros( ) , 0 ) ;
54
+ assert_eq ! ( Duration :: new( 0 , 500_000_005 ) . subsec_micros( ) , 500_000 ) ;
55
+ assert_eq ! ( Duration :: new( 0 , 1_050_000_001 ) . subsec_micros( ) , 50_000 ) ;
56
+ assert_eq ! ( Duration :: from_secs( 1 ) . subsec_micros( ) , 0 ) ;
57
+ assert_eq ! ( Duration :: from_millis( 999 ) . subsec_micros( ) , 999_000 ) ;
58
+ assert_eq ! ( Duration :: from_millis( 1001 ) . subsec_micros( ) , 1_000 ) ;
59
+ assert_eq ! ( Duration :: from_micros( 999_999 ) . subsec_micros( ) , 999_999 ) ;
60
+ assert_eq ! ( Duration :: from_micros( 1_000_001 ) . subsec_micros( ) , 1 ) ;
61
+ assert_eq ! ( Duration :: from_nanos( 999_999_999 ) . subsec_micros( ) , 999_999 ) ;
62
+ assert_eq ! ( Duration :: from_nanos( 1_000_001_000 ) . subsec_micros( ) , 1 ) ;
29
63
}
30
64
31
65
#[ test]
@@ -34,8 +68,12 @@ fn nanos() {
34
68
assert_eq ! ( Duration :: new( 0 , 5 ) . subsec_nanos( ) , 5 ) ;
35
69
assert_eq ! ( Duration :: new( 0 , 1_000_000_001 ) . subsec_nanos( ) , 1 ) ;
36
70
assert_eq ! ( Duration :: from_secs( 1 ) . subsec_nanos( ) , 0 ) ;
37
- assert_eq ! ( Duration :: from_millis( 999 ) . subsec_nanos( ) , 999 * 1_000_000 ) ;
38
- assert_eq ! ( Duration :: from_millis( 1001 ) . subsec_nanos( ) , 1 * 1_000_000 ) ;
71
+ assert_eq ! ( Duration :: from_millis( 999 ) . subsec_nanos( ) , 999_000_000 ) ;
72
+ assert_eq ! ( Duration :: from_millis( 1001 ) . subsec_nanos( ) , 1_000_000 ) ;
73
+ assert_eq ! ( Duration :: from_micros( 999_999 ) . subsec_nanos( ) , 999_999_000 ) ;
74
+ assert_eq ! ( Duration :: from_micros( 1_000_001 ) . subsec_nanos( ) , 1000 ) ;
75
+ assert_eq ! ( Duration :: from_nanos( 999_999_999 ) . subsec_nanos( ) , 999_999_999 ) ;
76
+ assert_eq ! ( Duration :: from_nanos( 1_000_000_001 ) . subsec_nanos( ) , 1 ) ;
39
77
}
40
78
41
79
#[ test]
0 commit comments