1use std::collections::HashMap;
8use undoredo::aliases::{HashMapDelta, HashMapHalfDelta};
9use undoredo::{Recorder, UndoRedo};
10
11#[derive(Debug, Clone, PartialEq)]
13enum Command {
14 PushChar,
15}
16
17fn main() {
18 let mut recorder: Recorder<HashMap<usize, char>, HashMapHalfDelta<usize, char>> =
19 Recorder::new(HashMap::new());
20 let mut undoredo: UndoRedo<HashMapDelta<usize, char>, Command> = UndoRedo::new();
21
22 recorder.insert(1, 'A');
23
24 undoredo.cmd_commit(Command::PushChar, &mut recorder);
27
28 assert_eq!(undoredo.done().last().unwrap().cmd, Command::PushChar);
30
31 undoredo.undo(&mut recorder);
32
33 assert_eq!(undoredo.undone().last().unwrap().cmd, Command::PushChar);
36}
37
38#[test]
39fn test() {
40 main();
41}