@@ -191,6 +191,7 @@ mod tests {
191
191
use std:: sync:: OnceLock ;
192
192
193
193
use serde:: { Deserializer , Serializer } ;
194
+ use serde_derive:: { Deserialize , Serialize } ;
194
195
195
196
use super :: * ;
196
197
use crate :: format:: { Float , Integer , CURRENT_VERSION } ;
@@ -814,24 +815,17 @@ mod tests {
814
815
let mut sender = ser:: SymbolMap :: default ( ) ;
815
816
let mut receiver = de:: SymbolList :: default ( ) ;
816
817
817
- let mut bytes = Vec :: new ( ) ;
818
- NumbersStruct :: default ( )
819
- . serialize ( & mut sender. serializer_for ( & mut bytes) . unwrap ( ) )
820
- . unwrap ( ) ;
821
- let _result =
822
- NumbersStruct :: deserialize ( & mut receiver. deserializer_for_slice ( & bytes) . unwrap ( ) )
823
- . unwrap ( ) ;
818
+ let mut bytes = sender. serialize_to_vec ( & NumbersStruct :: default ( ) ) . unwrap ( ) ;
819
+ let _result = receiver. deserialize_slice :: < NumbersStruct > ( & bytes) . unwrap ( ) ;
824
820
let symbol_count_after_first_send = receiver. len ( ) ;
825
821
let first_payload_len = bytes. len ( ) ;
826
822
827
823
// Send again, confirm the symbol list didn't grow.
828
824
bytes. clear ( ) ;
829
- NumbersStruct :: default ( )
830
- . serialize ( & mut sender . serializer_for ( & mut bytes) . unwrap ( ) )
825
+ sender
826
+ . serialize_to ( & mut bytes, & NumbersStruct :: default ( ) )
831
827
. unwrap ( ) ;
832
- let _result =
833
- NumbersStruct :: deserialize ( & mut receiver. deserializer_for_slice ( & bytes) . unwrap ( ) )
834
- . unwrap ( ) ;
828
+ let _result = receiver. deserialize_slice :: < NumbersStruct > ( & bytes) . unwrap ( ) ;
835
829
assert_eq ! ( symbol_count_after_first_send, receiver. len( ) ) ;
836
830
println ! (
837
831
"First: {first_payload_len} bytes; Second: {} bytes" ,
@@ -845,24 +839,21 @@ mod tests {
845
839
let mut sender = ser:: SymbolMap :: default ( ) ;
846
840
let mut receiver = de:: SymbolList :: default ( ) ;
847
841
848
- let mut bytes = Vec :: new ( ) ;
849
- NumbersStruct :: default ( )
850
- . serialize ( & mut sender . serializer_for ( & mut bytes) . unwrap ( ) )
842
+ let mut bytes = sender . serialize_to_vec ( & NumbersStruct :: default ( ) ) . unwrap ( ) ;
843
+ let _result = receiver
844
+ . deserialize_from :: < NumbersStruct > ( & bytes[ .. ] )
851
845
. unwrap ( ) ;
852
- let _result =
853
- NumbersStruct :: deserialize ( & mut receiver. deserializer_for ( & bytes[ ..] ) . unwrap ( ) )
854
- . unwrap ( ) ;
855
846
let symbol_count_after_first_send = receiver. len ( ) ;
856
847
let first_payload_len = bytes. len ( ) ;
857
848
858
849
// Send again, confirm the symbol list didn't grow.
859
850
bytes. clear ( ) ;
860
- NumbersStruct :: default ( )
861
- . serialize ( & mut sender. serializer_for ( & mut bytes) . unwrap ( ) )
851
+ sender
852
+ . serialize_to ( & mut bytes, & NumbersStruct :: default ( ) )
853
+ . unwrap ( ) ;
854
+ let _result = receiver
855
+ . deserialize_from :: < NumbersStruct > ( & bytes[ ..] )
862
856
. unwrap ( ) ;
863
- let _result =
864
- NumbersStruct :: deserialize ( & mut receiver. deserializer_for ( & bytes[ ..] ) . unwrap ( ) )
865
- . unwrap ( ) ;
866
857
assert_eq ! ( symbol_count_after_first_send, receiver. len( ) ) ;
867
858
println ! (
868
859
"First: {first_payload_len} bytes; Second: {} bytes" ,
@@ -883,16 +874,13 @@ mod tests {
883
874
assert ! ( sender. is_empty( ) ) ;
884
875
let mut receiver = crate :: de:: SymbolMap :: new ( ) ;
885
876
assert ! ( receiver. is_empty( ) ) ;
886
- let mut bytes = Vec :: new ( ) ;
887
877
888
878
// Send the first payload, populating the map.
889
- Payload :: default ( )
890
- . serialize ( & mut sender. serializer_for ( & mut bytes) . unwrap ( ) )
891
- . unwrap ( ) ;
879
+ let mut bytes = sender. serialize_to_vec ( & Payload :: default ( ) ) . unwrap ( ) ;
892
880
assert_eq ! ( sender. len( ) , 2 ) ;
893
881
894
882
assert_eq ! (
895
- Payload :: deserialize ( & mut receiver . deserializer_for_slice ( & bytes) . unwrap ( ) ) . unwrap( ) ,
883
+ receiver . deserialize_slice :: < Payload > ( & bytes) . unwrap( ) ,
896
884
Payload :: default ( )
897
885
) ;
898
886
assert_eq ! ( receiver. len( ) , 2 ) ;
@@ -913,31 +901,19 @@ mod tests {
913
901
// by the serialized map and the original map are identical.
914
902
let new_payload = Payload { a : 1 , b : 2 } ;
915
903
bytes. clear ( ) ;
916
- new_payload
917
- . serialize ( & mut sender. serializer_for ( & mut bytes) . unwrap ( ) )
918
- . unwrap ( ) ;
919
- let mut from_serialized_sender = Vec :: new ( ) ;
920
- new_payload
921
- . serialize (
922
- & mut deserialized_sender
923
- . serializer_for ( & mut from_serialized_sender)
924
- . unwrap ( ) ,
925
- )
926
- . unwrap ( ) ;
904
+ sender. serialize_to ( & mut bytes, & new_payload) . unwrap ( ) ;
905
+ let from_serialized_sender = deserialized_sender. serialize_to_vec ( & new_payload) . unwrap ( ) ;
927
906
assert_eq ! ( bytes, from_serialized_sender) ;
928
907
929
908
// Deserialize the payload
930
909
assert_eq ! (
931
- Payload :: deserialize ( & mut receiver . deserializer_for_slice ( & bytes) . unwrap ( ) ) . unwrap( ) ,
910
+ receiver . deserialize_slice :: < Payload > ( & bytes) . unwrap( ) ,
932
911
new_payload
933
912
) ;
934
913
assert_eq ! (
935
- Payload :: deserialize(
936
- & mut deserialized_receiver
937
- . deserializer_for_slice( & bytes)
938
- . unwrap( )
939
- )
940
- . unwrap( ) ,
914
+ deserialized_receiver
915
+ . deserialize_slice:: <Payload >( & bytes)
916
+ . unwrap( ) ,
941
917
new_payload
942
918
) ;
943
919
}
0 commit comments