Skip to content

Commit

Permalink
Add borsh serialization roundtrip tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sug0 committed Feb 21, 2024
1 parent f311e23 commit 88a5692
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions src/borsh.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,3 +93,32 @@ fn check_zst<T>() -> Result<()> {
}
Ok(())
}

#[cfg(test)]
mod borsh_tests {
use super::*;

#[test]
fn map_borsh_roundtrip() {
let original_map: IndexMap<i32, i32> = {
let mut map = IndexMap::new();
map.insert(1, 2);
map.insert(3, 4);
map.insert(5, 6);
map
};
let serialized_map = borsh::to_vec(&original_map).unwrap();
let deserialized_map: IndexMap<i32, i32> =
BorshDeserialize::try_from_slice(&serialized_map).unwrap();
assert_eq!(original_map, deserialized_map);
}

#[test]
fn set_borsh_roundtrip() {
let original_map: IndexSet<i32> = [1, 2, 3, 4, 5, 6].into_iter().collect();
let serialized_map = borsh::to_vec(&original_map).unwrap();
let deserialized_map: IndexSet<i32> =
BorshDeserialize::try_from_slice(&serialized_map).unwrap();
assert_eq!(original_map, deserialized_map);
}
}

0 comments on commit 88a5692

Please sign in to comment.