use std::collections::HashMap;
use undoredo::{VecDelta, VecHalfDelta};
use undoredo::{Recorder, UndoRedo};
#[derive(Debug, Clone, PartialEq)]
enum Command {
PushChar,
}
fn main() {
let mut recorder: Recorder<HashMap<usize, char>, VecHalfDelta<char>> =
Recorder::new(HashMap::new());
let mut undoredo: UndoRedo<VecDelta<char>, Command> = UndoRedo::new();
recorder.insert(1, 'A');
undoredo.cmd_commit(Command::PushChar, recorder.flush_delta());
assert_eq!(undoredo.done().last().unwrap().cmd, Command::PushChar);
undoredo.undo(&mut recorder);
assert_eq!(undoredo.undone().last().unwrap().cmd, Command::PushChar);
}
#[test]
fn test() {
main();
}