MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / test_change_serialize_deserialize

Function test_change_serialize_deserialize

atomic-core/src/change/change.rs:1035–1059  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1033
1034 #[test]
1035 fn test_change_serialize_deserialize() {
1036 let header = ChangeHeader::builder()
1037 .message("Test serialization")
1038 .author(Author::new("Bob", Some("bob@example.com")))
1039 .build();
1040
1041 let contents = b"File contents here".to_vec();
1042 let change = Change::new(header, vec![], contents, vec![]);
1043
1044 // Serialize
1045 let mut buffer = Vec::new();
1046 let hash = change.serialize(&mut buffer).unwrap();
1047
1048 // Verify V3 magic bytes
1049 assert_eq!(&buffer[0..4], b"ATOM");
1050
1051 // Deserialize
1052 let mut cursor = Cursor::new(buffer);
1053 let (loaded, loaded_hash) = Change::deserialize(&mut cursor).unwrap();
1054
1055 // Verify
1056 assert_eq!(hash, loaded_hash);
1057 assert_eq!(change.message(), loaded.message());
1058 assert_eq!(change.contents, loaded.contents);
1059 }
1060
1061 #[test]
1062 fn test_change_serialize_with_hunks() {

Callers

nothing calls this directly

Calls 6

deserializeFunction · 0.85
authorMethod · 0.80
buildMethod · 0.45
messageMethod · 0.45
unwrapMethod · 0.45
serializeMethod · 0.45

Tested by

no test coverage detected