Skip to content

Commit e273293

Browse files
committed
Add borsh serialization roundtrip tests
1 parent a672234 commit e273293

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/borsh.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,3 +136,32 @@ fn check_zst<T>() -> Result<()> {
136136
}
137137
Ok(())
138138
}
139+
140+
#[cfg(test)]
141+
mod borsh_tests {
142+
use super::*;
143+
144+
#[test]
145+
fn map_borsh_roundtrip() {
146+
let original_map: IndexMap<i32, i32> = {
147+
let mut map = IndexMap::new();
148+
map.insert(1, 2);
149+
map.insert(3, 4);
150+
map.insert(5, 6);
151+
map
152+
};
153+
let serialized_map = borsh::to_vec(&original_map).unwrap();
154+
let deserialized_map: IndexMap<i32, i32> =
155+
BorshDeserialize::try_from_slice(&serialized_map).unwrap();
156+
assert_eq!(original_map, deserialized_map);
157+
}
158+
159+
#[test]
160+
fn set_borsh_roundtrip() {
161+
let original_map: IndexSet<i32> = [1, 2, 3, 4, 5, 6].into_iter().collect();
162+
let serialized_map = borsh::to_vec(&original_map).unwrap();
163+
let deserialized_map: IndexSet<i32> =
164+
BorshDeserialize::try_from_slice(&serialized_map).unwrap();
165+
assert_eq!(original_map, deserialized_map);
166+
}
167+
}

0 commit comments

Comments
 (0)