@@ -183,12 +183,47 @@ fn whole_seconds() {
183
183
fn seconds_f64 ( ) {
184
184
assert_eq ! ( Duration :: seconds_f64( 0.5 ) , 0.5 . seconds( ) ) ;
185
185
assert_eq ! ( Duration :: seconds_f64( -0.5 ) , ( -0.5 ) . seconds( ) ) ;
186
+ assert_eq ! ( Duration :: seconds_f64( 123.250 ) , 123.250 . seconds( ) ) ;
187
+ assert_eq ! ( Duration :: seconds_f64( 0.000_000_000_012 ) , Duration :: ZERO ) ;
186
188
187
189
assert_panic ! ( Duration :: seconds_f64( f64 :: MAX ) ) ;
188
190
assert_panic ! ( Duration :: seconds_f64( f64 :: MIN ) ) ;
189
191
assert_panic ! ( Duration :: seconds_f64( f64 :: NAN ) ) ;
190
192
}
191
193
194
+ #[ test]
195
+ fn saturating_seconds_f64 ( ) {
196
+ assert_eq ! ( Duration :: saturating_seconds_f64( 0.5 ) , 0.5 . seconds( ) ) ;
197
+ assert_eq ! ( Duration :: saturating_seconds_f64( -0.5 ) , ( -0.5 ) . seconds( ) ) ;
198
+ assert_eq ! ( Duration :: saturating_seconds_f64( 123.250 ) , 123.250 . seconds( ) ) ;
199
+ assert_eq ! (
200
+ Duration :: saturating_seconds_f64( 0.000_000_000_012 ) ,
201
+ Duration :: ZERO
202
+ ) ;
203
+
204
+ assert_eq ! ( Duration :: saturating_seconds_f64( f64 :: MAX ) , Duration :: MAX ) ;
205
+ assert_eq ! ( Duration :: saturating_seconds_f64( f64 :: MIN ) , Duration :: MIN ) ;
206
+ assert_eq ! ( Duration :: saturating_seconds_f64( f64 :: NAN ) , Duration :: ZERO ) ;
207
+ }
208
+
209
+ #[ test]
210
+ fn checked_seconds_f64 ( ) {
211
+ assert_eq ! ( Duration :: checked_seconds_f64( 0.5 ) , Some ( 0.5 . seconds( ) ) ) ;
212
+ assert_eq ! ( Duration :: checked_seconds_f64( -0.5 ) , Some ( ( -0.5 ) . seconds( ) ) ) ;
213
+ assert_eq ! (
214
+ Duration :: checked_seconds_f64( 123.250 ) ,
215
+ Some ( 123.250 . seconds( ) )
216
+ ) ;
217
+ assert_eq ! (
218
+ Duration :: checked_seconds_f64( 0.000_000_000_012 ) ,
219
+ Some ( Duration :: ZERO )
220
+ ) ;
221
+
222
+ assert_eq ! ( Duration :: checked_seconds_f64( f64 :: MAX ) , None ) ;
223
+ assert_eq ! ( Duration :: checked_seconds_f64( f64 :: MIN ) , None ) ;
224
+ assert_eq ! ( Duration :: checked_seconds_f64( f64 :: NAN ) , None ) ;
225
+ }
226
+
192
227
#[ test]
193
228
#[ allow( clippy:: float_cmp) ]
194
229
fn as_seconds_f64 ( ) {
@@ -204,12 +239,47 @@ fn as_seconds_f64() {
204
239
fn seconds_f32 ( ) {
205
240
assert_eq ! ( Duration :: seconds_f32( 0.5 ) , 0.5 . seconds( ) ) ;
206
241
assert_eq ! ( Duration :: seconds_f32( -0.5 ) , ( -0.5 ) . seconds( ) ) ;
242
+ assert_eq ! ( Duration :: seconds_f32( 123.250 ) , 123.250 . seconds( ) ) ;
243
+ assert_eq ! ( Duration :: seconds_f32( 0.000_000_000_012 ) , Duration :: ZERO ) ;
207
244
208
245
assert_panic ! ( Duration :: seconds_f32( f32 :: MAX ) ) ;
209
246
assert_panic ! ( Duration :: seconds_f32( f32 :: MIN ) ) ;
210
247
assert_panic ! ( Duration :: seconds_f32( f32 :: NAN ) ) ;
211
248
}
212
249
250
+ #[ test]
251
+ fn saturating_seconds_f32 ( ) {
252
+ assert_eq ! ( Duration :: saturating_seconds_f32( 0.5 ) , 0.5 . seconds( ) ) ;
253
+ assert_eq ! ( Duration :: saturating_seconds_f32( -0.5 ) , ( -0.5 ) . seconds( ) ) ;
254
+ assert_eq ! ( Duration :: saturating_seconds_f32( 123.250 ) , 123.250 . seconds( ) ) ;
255
+ assert_eq ! (
256
+ Duration :: saturating_seconds_f32( 0.000_000_000_012 ) ,
257
+ Duration :: ZERO
258
+ ) ;
259
+
260
+ assert_eq ! ( Duration :: saturating_seconds_f32( f32 :: MAX ) , Duration :: MAX ) ;
261
+ assert_eq ! ( Duration :: saturating_seconds_f32( f32 :: MIN ) , Duration :: MIN ) ;
262
+ assert_eq ! ( Duration :: saturating_seconds_f32( f32 :: NAN ) , Duration :: ZERO ) ;
263
+ }
264
+
265
+ #[ test]
266
+ fn checked_seconds_f32 ( ) {
267
+ assert_eq ! ( Duration :: checked_seconds_f32( 0.5 ) , Some ( 0.5 . seconds( ) ) ) ;
268
+ assert_eq ! ( Duration :: checked_seconds_f32( -0.5 ) , Some ( ( -0.5 ) . seconds( ) ) ) ;
269
+ assert_eq ! (
270
+ Duration :: checked_seconds_f32( 123.250 ) ,
271
+ Some ( 123.250 . seconds( ) )
272
+ ) ;
273
+ assert_eq ! (
274
+ Duration :: checked_seconds_f32( 0.000_000_000_012 ) ,
275
+ Some ( Duration :: ZERO )
276
+ ) ;
277
+
278
+ assert_eq ! ( Duration :: checked_seconds_f32( f32 :: MAX ) , None ) ;
279
+ assert_eq ! ( Duration :: checked_seconds_f32( f32 :: MIN ) , None ) ;
280
+ assert_eq ! ( Duration :: checked_seconds_f32( f32 :: NAN ) , None ) ;
281
+ }
282
+
213
283
#[ test]
214
284
#[ allow( clippy:: float_cmp) ]
215
285
fn as_seconds_f32 ( ) {
0 commit comments