Esempio n. 1
0
        public void ApplyShouldDeleteChar(int position)
        {
            state.CurrentPosition = position;
            command = new BackspaceCommand();
            var oldState = new ControllerState(state);

            var result = command.Apply(state);

            result.Should().BeTrue();
            state.Text.ToString().Should().BeEquivalentTo(oldState.Text.Remove(position - 1, 1).ToString());
            state.CurrentPosition.Should().Be(position - 1);
        }
Esempio n. 2
0
        public void RevertShouldRestoreState(int position)
        {
            state.CurrentPosition = position;
            command = new BackspaceCommand();
            var oldState    = new ControllerState(state);
            var applyResult = command.Apply(state);

            applyResult.Should().BeTrue();

            var result = command.Revert(state);

            result.Should().BeTrue();
            state.Should().Be(oldState);
        }
Esempio n. 3
0
    public void Backspace()
    {
        if (this.document.Length() == 0)
        {
            return;
        }

        IUndoableCommand command = new BackspaceCommand(this.document);

        this.undoStack.Push(command);
        this.redoStack.Clear();

        command.Execute();
    }