Exemplo n.º 1
0
        /// <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;
 }