@@ -841,68 +841,47 @@ fn to_string_with_denomination_from_str_roundtrip() {
841841
842842#[ test]
843843fn sum_amounts ( ) {
844- assert_eq ! ( [ ] . iter( ) . sum:: <NumOpResult <Amount >>( ) , Amount :: ZERO . into( ) ) ;
845- assert_eq ! ( [ ] . iter( ) . sum:: <NumOpResult <SignedAmount >>( ) , SignedAmount :: ZERO . into( ) ) ;
846-
847- let results =
848- [ NumOpResult :: Valid ( sat ( 42 ) ) , NumOpResult :: Valid ( sat ( 1337 ) ) , NumOpResult :: Valid ( sat ( 21 ) ) ] ;
849- assert_eq ! ( results. iter( ) . sum:: <NumOpResult <Amount >>( ) , NumOpResult :: Valid ( sat( 1400 ) ) ) ;
850-
851- let signed_results = [
852- NumOpResult :: Valid ( ssat ( 42 ) ) ,
853- NumOpResult :: Valid ( ssat ( 1337 ) ) ,
854- NumOpResult :: Valid ( ssat ( 21 ) ) ,
855- ] ;
856- assert_eq ! (
857- signed_results. iter( ) . sum:: <NumOpResult <SignedAmount >>( ) ,
858- NumOpResult :: Valid ( ssat( 1400 ) )
859- ) ;
860-
861- let amounts = [ sat ( 42 ) , sat ( 1337 ) , sat ( 21 ) ] ;
862- assert_eq ! (
863- amounts. iter( ) . map( |a| NumOpResult :: Valid ( * a) ) . sum:: <NumOpResult <Amount >>( ) ,
864- sat( 1400 ) . into( ) ,
865- ) ;
866- assert_eq ! (
867- amounts. into_iter( ) . map( NumOpResult :: Valid ) . sum:: <NumOpResult <Amount >>( ) ,
868- sat( 1400 ) . into( ) ,
869- ) ;
870-
871- let amounts = [ ssat ( -42 ) , ssat ( 1337 ) , ssat ( 21 ) ] ;
872- assert_eq ! (
873- amounts. iter( ) . map( NumOpResult :: from) . sum:: <NumOpResult <SignedAmount >>( ) ,
874- ssat( 1316 ) . into( ) ,
875- ) ;
876- assert_eq ! (
877- amounts. into_iter( ) . map( NumOpResult :: from) . sum:: <NumOpResult <SignedAmount >>( ) ,
878- ssat( 1316 ) . into( )
879- ) ;
880- }
881-
882- #[ test]
883- fn checked_sum_amounts ( ) {
884- assert_eq ! ( [ ] . into_iter( ) . checked_sum( ) , Some ( Amount :: ZERO ) ) ;
885- assert_eq ! ( [ ] . into_iter( ) . checked_sum( ) , Some ( SignedAmount :: ZERO ) ) ;
844+ let empty: [ NumOpResult < Amount > ; 0 ] = [ ] ;
845+ assert_eq ! ( empty. into_iter( ) . sum:: <NumOpResult <_>>( ) , NumOpResult :: Valid ( Amount :: ZERO ) ) ;
846+ let empty: [ NumOpResult < SignedAmount > ; 0 ] = [ ] ;
847+ assert_eq ! ( empty. into_iter( ) . sum:: <NumOpResult <_>>( ) , NumOpResult :: Valid ( SignedAmount :: ZERO ) ) ;
886848
887849 let amounts = [ sat ( 42 ) , sat ( 1337 ) , sat ( 21 ) ] ;
888- let sum = amounts. into_iter ( ) . checked_sum ( ) ;
889- assert_eq ! ( sum, Some ( sat( 1400 ) ) ) ;
850+ let sum = amounts
851+ . into_iter ( )
852+ . map ( NumOpResult :: from)
853+ . sum :: < NumOpResult < Amount > > ( )
854+ . unwrap ( ) ;
855+ assert_eq ! ( sum, sat( 1400 ) ) ;
890856
891857 let amounts = [ Amount :: MAX_MONEY , sat ( 1337 ) , sat ( 21 ) ] ;
892- let sum = amounts. into_iter ( ) . checked_sum ( ) ;
893- assert_eq ! ( sum, None ) ;
858+ assert ! ( amounts
859+ . into_iter( )
860+ . map( NumOpResult :: from)
861+ . sum:: <NumOpResult <Amount >>( )
862+ . is_error( ) ) ;
894863
895864 let amounts = [ SignedAmount :: MIN , ssat ( -1 ) , ssat ( 21 ) ] ;
896- let sum = amounts. into_iter ( ) . checked_sum ( ) ;
897- assert_eq ! ( sum, None ) ;
865+ assert ! ( amounts
866+ . into_iter( )
867+ . map( NumOpResult :: from)
868+ . sum:: <NumOpResult <SignedAmount >>( )
869+ . is_error( ) ) ;
898870
899871 let amounts = [ SignedAmount :: MAX , ssat ( 1 ) , ssat ( 21 ) ] ;
900- let sum = amounts. into_iter ( ) . checked_sum ( ) ;
901- assert_eq ! ( sum, None ) ;
872+ assert ! ( amounts
873+ . into_iter( )
874+ . map( NumOpResult :: from)
875+ . sum:: <NumOpResult <SignedAmount >>( )
876+ . is_error( ) ) ;
902877
903878 let amounts = [ ssat ( 42 ) , ssat ( 3301 ) , ssat ( 21 ) ] ;
904- let sum = amounts. into_iter ( ) . checked_sum ( ) ;
905- assert_eq ! ( sum, Some ( ssat( 3364 ) ) ) ;
879+ let sum = amounts
880+ . into_iter ( )
881+ . map ( NumOpResult :: from)
882+ . sum :: < NumOpResult < SignedAmount > > ( )
883+ . unwrap ( ) ;
884+ assert_eq ! ( sum, ssat( 3364 ) ) ;
906885}
907886
908887#[ test]
0 commit comments