Skip to content

Commit 9f191de

Browse files
committed
Add borsh serialization roundtrip tests
1 parent 397dcc7 commit 9f191de

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

0 commit comments

Comments
 (0)