public void TrackTwoUndoActions() { var parent = new Parent { Name = "original name" }; var undoRedoManager = new UndoRedoManager(parent); var undoRedoHistoryControl = new UndoRedoHistoryControl { UndoRedoManager = undoRedoManager }; parent.Name = "name1"; parent.Name = "name2"; undoRedoHistoryControl.TreeView.Nodes.Count .Should().Be.EqualTo(3); undoRedoHistoryControl.TreeView.Nodes[0].Text .Should("empty node").Be.EqualTo(""); undoRedoHistoryControl.TreeView.Nodes[1].Text .Should().Contain("name1"); undoRedoHistoryControl.TreeView.Nodes[2].Text .Should().Contain("name2"); }
public void Show() { LogHelper.ConfigureLogging(); var parent = new Parent { Name = "original name" }; // setup undo/redo for parent var undoRedoManager = new UndoRedoManager(parent); // create undo/redo control var undoRedoHistoryControl = new UndoRedoHistoryControl { UndoRedoManager = undoRedoManager }; // show parent using tree view var parentTreeView = new TreeView(); var parentNodePresenter = new ParentTreeViewNodePresenter(); var childNodePresenter = new ChildTreeViewNodePresenter(); parentTreeView.NodePresenters.Add(parentNodePresenter); parentTreeView.NodePresenters.Add(childNodePresenter); parentTreeView.Data = parent; WindowsFormsTestHelper.Show(parentTreeView); // do some actions parent.Name = "name1"; parent.Name = "name2"; parent.Children.Add(new Child { Name = "child1" }); var editable = (IEditableObject)parent; editable.BeginEdit("Add new child and change name"); parent.Children.Add(new Child { Name = "child2" }); parent.Name = "name3"; editable.EndEdit(); parent.Children.RemoveAt(0); WindowsFormsTestHelper.ShowModal(undoRedoHistoryControl); }
public void UndoShouldChangeSelectedNodeToThePreviousNode() { var parent = new Parent { Name = "original name" }; var undoRedoManager = new UndoRedoManager(parent); var undoRedoHistoryControl = new UndoRedoHistoryControl { UndoRedoManager = undoRedoManager }; parent.Name = "name1"; parent.Name = "name2"; undoRedoManager.Undo(); undoRedoHistoryControl.TreeView.Nodes.IndexOf(undoRedoHistoryControl.TreeView.SelectedNode) .Should().Be.EqualTo(1); }