use std::collections::HashMap;
use undoredo::{Snapshot, UndoRedo};
fn main() {
let mut container: HashMap<usize, char> = HashMap::new();
let mut undoredo: UndoRedo<Snapshot<HashMap<usize, char>>> = UndoRedo::new();
undoredo.commit(&mut container);
container.insert(1, 'A');
container.insert(2, 'B');
container.insert(3, 'C');
assert!(container == HashMap::from([(1, 'A'), (2, 'B'), (3, 'C')]));
undoredo.undo(&mut container);
assert!(container == HashMap::from([]));
undoredo.redo(&mut container);
assert!(container == HashMap::from([(1, 'A'), (2, 'B'), (3, 'C')]));
}
#[test]
fn test() {
main();
}