@@ -952,25 +952,36 @@ mod tests {
952
952
features1. set_gossip_queries_optional ( ) ;
953
953
features1. set_variable_length_onion_optional ( ) ;
954
954
features1. set_payment_secret_optional ( ) ;
955
+ features1. set_basic_mpp_optional ( ) ;
956
+ assert_eq ! ( features1. flags. len( ) , 3 ) ;
955
957
assert_eq ! ( features1. flags[ 0 ] , 0b10000110 ) ;
956
958
assert_eq ! ( features1. flags[ 1 ] , 0b10000010 ) ;
959
+ assert_eq ! ( features1. flags[ 2 ] , 0b00000010 ) ;
957
960
958
961
let mut features2 = InitFeatures :: empty ( ) ;
959
962
features2. set_data_loss_protect_optional ( ) ;
960
963
features2. set_upfront_shutdown_script_optional ( ) ;
961
964
features2. set_gossip_queries_optional ( ) ;
962
965
features2. set_variable_length_onion_optional ( ) ;
963
966
features2. set_static_remote_key_optional ( ) ;
967
+ features2. set_basic_mpp_optional ( ) ;
968
+ assert_eq ! ( features2. flags. len( ) , 3 ) ;
964
969
assert_eq ! ( features2. flags[ 0 ] , 0b10100010 ) ;
965
970
assert_eq ! ( features2. flags[ 1 ] , 0b00100010 ) ;
971
+ assert_eq ! ( features1. flags[ 2 ] , 0b00000010 ) ;
966
972
967
973
let features1_minus2 = features1. clone ( ) - features2. clone ( ) ;
974
+ assert_eq ! ( features1_minus2. flags. len( ) , 2 ) ;
968
975
assert_eq ! ( features1_minus2. flags[ 0 ] , 0b00000100 ) ;
969
976
assert_eq ! ( features1_minus2. flags[ 1 ] , 0b10000000 ) ;
970
977
971
- let features2_minus1 = features2 - features1;
978
+ let features2_minus1 = features2 - features1. clone ( ) ;
979
+ assert_eq ! ( features2_minus1. flags. len( ) , 2 ) ;
972
980
assert_eq ! ( features2_minus1. flags[ 0 ] , 0b00100000 ) ;
973
981
assert_eq ! ( features2_minus1. flags[ 1 ] , 0b00100000 ) ;
982
+
983
+ let empty_features = features1. clone ( ) - features1;
984
+ assert ! ( empty_features. flags. is_empty( ) ) ;
974
985
}
975
986
976
987
#[ test]
0 commit comments