@@ -502,13 +502,51 @@ fn serialize() {
502
502
assert_eq ! ( ron:: from_str( & serialized) , Ok ( Au ( 42 ) ) ) ;
503
503
}
504
504
505
+ #[ cfg( feature = "num_traits" ) ]
506
+ #[ test]
507
+ fn cast_au_u64 ( ) {
508
+ let val: Au = Au :: new ( 120 ) ;
509
+ let cast: Option < u64 > = num_traits:: NumCast :: from ( val) ;
510
+ assert_eq ! ( cast, None )
511
+ }
512
+
513
+ #[ cfg( feature = "num_traits" ) ]
514
+ #[ test]
515
+ fn cast_au_i16 ( ) {
516
+ let val: Au = Au :: new ( 120 ) ;
517
+ let cast: Option < i16 > = num_traits:: NumCast :: from ( val) ;
518
+ assert_eq ! ( cast, None )
519
+ }
520
+
521
+ #[ cfg( feature = "num_traits" ) ]
522
+ #[ test]
523
+ fn cast_au_i64 ( ) {
524
+ let val: Au = Au :: new ( 120 ) ;
525
+ let cast: Option < i64 > = num_traits:: NumCast :: from ( val) ;
526
+ assert_eq ! ( cast, Some ( 2 ) )
527
+ }
528
+
529
+ #[ test]
530
+ fn cast_au_f32 ( ) {
531
+ let val: Au = Au :: new ( 120 ) ;
532
+ let cast: Option < f32 > = num_traits:: NumCast :: from ( val) ;
533
+ assert_eq ! ( cast, Some ( 2.0 ) )
534
+ }
535
+
536
+ #[ cfg( feature = "num_traits" ) ]
537
+ #[ test]
538
+ fn cast_au_f64 ( ) {
539
+ let val: Au = Au :: new ( 120 ) ;
540
+ let cast: Option < f64 > = num_traits:: NumCast :: from ( val) ;
541
+ assert_eq ! ( cast, Some ( 2.0 ) )
542
+ }
543
+
505
544
#[ cfg( feature = "num_traits" ) ]
506
545
#[ test]
507
546
fn euclid_cast_au_to_f32 ( ) {
508
547
use euclid:: default:: Size2D ;
509
- let size_au: Size2D < Au > = Size2D :: new ( Au :: new ( 20 ) , Au :: new ( 30 ) ) ;
510
- let size_f32_manual: Size2D < f32 > =
511
- Size2D :: new ( Au :: new ( 20 ) . to_f32_px ( ) , Au :: new ( 30 ) . to_f32_px ( ) ) ;
548
+ let size_au: Size2D < Au > = Size2D :: new ( Au :: new ( 20 * 60 ) , Au :: new ( 30 * 60 ) ) ;
549
+ let size_f32_manual: Size2D < f32 > = Size2D :: new ( 20.0 , 30.0 ) ;
512
550
let size_f32_cast: Size2D < f32 > = size_au. cast ( ) ;
513
551
514
552
assert_eq ! ( size_f32_manual, size_f32_cast) ;
0 commit comments