MCPcopy Create free account
hub / github.com/apache/fory / test_item

Function test_item

rust/tests/tests/test_cross_language.rs:964–995  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

962#[test]
963#[ignore]
964fn test_item() {
965 let data_file_path = get_data_file();
966 let bytes = fs::read(&data_file_path).unwrap();
967
968 let mut fory = Fory::builder().compatible(true).xlang(true).build();
969 fory.register::<Item>(102).unwrap();
970 let mut reader = Reader::new(bytes.as_slice());
971
972 let item1 = Item {
973 name: "test_item_1".to_string(),
974 };
975 let item2 = Item {
976 name: "test_item_2".to_string(),
977 };
978 // With nullable=false (xlang default), Java sends empty string instead of null
979 let item3 = Item {
980 name: String::new(),
981 };
982
983 let remote_item1: Item = fory.deserialize_from(&mut reader).unwrap();
984 assert_eq!(remote_item1, item1);
985 let remote_item2: Item = fory.deserialize_from(&mut reader).unwrap();
986 assert_eq!(remote_item2, item2);
987 let remote_item3: Item = fory.deserialize_from(&mut reader).unwrap();
988 assert_eq!(remote_item3, item3);
989
990 let mut buf = Vec::new();
991 fory.serialize_to(&mut buf, &remote_item1).unwrap();
992 fory.serialize_to(&mut buf, &remote_item2).unwrap();
993 fory.serialize_to(&mut buf, &remote_item3).unwrap();
994 fs::write(&data_file_path, buf).unwrap();
995}
996
997#[test]
998#[ignore]

Callers

nothing calls this directly

Calls 10

deserialize_fromMethod · 0.80
get_data_fileFunction · 0.70
readFunction · 0.50
writeFunction · 0.50
unwrapMethod · 0.45
buildMethod · 0.45
xlangMethod · 0.45
compatibleMethod · 0.45
to_stringMethod · 0.45
serialize_toMethod · 0.45

Tested by

no test coverage detected