@@ -23,9 +23,43 @@ fn creation() {
2323#[ test]
2424fn secs ( ) {
2525 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 ) ;
2628 assert_eq ! ( Duration :: from_secs( 1 ) . as_secs( ) , 1 ) ;
2729 assert_eq ! ( Duration :: from_millis( 999 ) . as_secs( ) , 0 ) ;
2830 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 ) ;
2963}
3064
3165#[ test]
@@ -34,8 +68,12 @@ fn nanos() {
3468 assert_eq ! ( Duration :: new( 0 , 5 ) . subsec_nanos( ) , 5 ) ;
3569 assert_eq ! ( Duration :: new( 0 , 1_000_000_001 ) . subsec_nanos( ) , 1 ) ;
3670 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 ) ;
3977}
4078
4179#[ test]
0 commit comments