/// <summary> /// Creates an aggregate of UndoServices. /// </summary> /// <param name="subUndoServices"></param> public UndoServiceAggregate(IUndoService[] subUndoServices) { _undoStack = new IntStackWithDelete(); _redoStack = new IntStackWithDelete(); _subUndoServices = new List <SubUndoService>(); _clearStackInvocationsCount = 0; if (subUndoServices == null) { throw new ArgumentNullException(nameof(subUndoServices)); } for (var i = 0; i < subUndoServices.Length; i++) { AddUndoService(subUndoServices[i]); } _undoServiceValidator = new UndoServiceValidator <int>(_undoStack, _redoStack); _undoStack.HasItemsChanged += UndoStack_HasItemsChanged; _redoStack.HasItemsChanged += RedoStack_HasItemsChanged; }
public void Setup() { _testStack = new IntStackWithDelete(); _testStack.HasItemsChanged += _testStack_HasItemsChanged; _hasItemsChangedFiredCount = 0; }