Skip to content

Commit e246127

Browse files
committed
Add borsh serialization roundtrip tests
1 parent 74dc751 commit e246127

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
@@ -109,3 +109,32 @@ fn check_zst<T>() -> Result<()> {
109109
}
110110
Ok(())
111111
}
112+
113+
#[cfg(test)]
114+
mod borsh_tests {
115+
use super::*;
116+
117+
#[test]
118+
fn map_borsh_roundtrip() {
119+
let original_map: IndexMap<i32, i32> = {
120+
let mut map = IndexMap::new();
121+
map.insert(1, 2);
122+
map.insert(3, 4);
123+
map.insert(5, 6);
124+
map
125+
};
126+
let serialized_map = borsh::to_vec(&original_map).unwrap();
127+
let deserialized_map: IndexMap<i32, i32> =
128+
BorshDeserialize::try_from_slice(&serialized_map).unwrap();
129+
assert_eq!(original_map, deserialized_map);
130+
}
131+
132+
#[test]
133+
fn set_borsh_roundtrip() {
134+
let original_map: IndexSet<i32> = [1, 2, 3, 4, 5, 6].into_iter().collect();
135+
let serialized_map = borsh::to_vec(&original_map).unwrap();
136+
let deserialized_map: IndexSet<i32> =
137+
BorshDeserialize::try_from_slice(&serialized_map).unwrap();
138+
assert_eq!(original_map, deserialized_map);
139+
}
140+
}

0 commit comments

Comments
 (0)