Skip to content

Commit db551fa

Browse files
committed
Add borsh serialization roundtrip tests
1 parent 64fe7ce commit db551fa

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/borsh.rs

+29
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,32 @@ fn check_zst<T>() -> Result<()> {
9393
}
9494
Ok(())
9595
}
96+
97+
#[cfg(test)]
98+
mod borsh_tests {
99+
use super::*;
100+
101+
#[test]
102+
fn map_borsh_roundtrip() {
103+
let original_map: IndexMap<i32, i32> = {
104+
let mut map = IndexMap::new();
105+
map.insert(1, 2);
106+
map.insert(3, 4);
107+
map.insert(5, 6);
108+
map
109+
};
110+
let serialized_map = borsh::to_vec(&original_map).unwrap();
111+
let deserialized_map: IndexMap<i32, i32> =
112+
BorshDeserialize::try_from_slice(&serialized_map).unwrap();
113+
assert_eq!(original_map, deserialized_map);
114+
}
115+
116+
#[test]
117+
fn set_borsh_roundtrip() {
118+
let original_map: IndexSet<i32> = [1, 2, 3, 4, 5, 6].into_iter().collect();
119+
let serialized_map = borsh::to_vec(&original_map).unwrap();
120+
let deserialized_map: IndexSet<i32> =
121+
BorshDeserialize::try_from_slice(&serialized_map).unwrap();
122+
assert_eq!(original_map, deserialized_map);
123+
}
124+
}

0 commit comments

Comments
 (0)