コード例 #1
0
        public RemoveParametersPresenter Create()
        {
            var selection = _vbe.GetActiveSelection();

            if (!selection.HasValue)
            {
                return(null);
            }

            var model = new RemoveParametersModel(_state, selection.Value, _messageBox);

            return(new RemoveParametersPresenter(_view, model, _messageBox));
        }
コード例 #2
0
        public void RemoveParamatersRefactoring_ClientReferencesAreUpdated()
        {
            //Input
            const string inputCode =
                @"Private Sub Foo(ByVal arg1 As Integer, ByVal arg2 As String)
End Sub

Private Sub Bar()
    Foo 10, ""Hello""
End Sub
";
            var selection = new Selection(1, 23, 1, 27); //startLine, startCol, endLine, endCol

            //Expectation
            const string expectedCode =
                @"Private Sub Foo(ByVal arg1 As Integer )
End Sub

Private Sub Bar()
 Foo 10 
End Sub
"; //note: The IDE strips out the extra whitespace, you can't see it but there's a space after "Foo 10 "

            //Arrange
            SetupProject(inputCode);
            var parseResult = new RubberduckParser().Parse(_project.Object);

            var qualifiedSelection = GetQualifiedSelection(selection);

            //Specify Param(s) to remove
            var model = new RemoveParametersModel(parseResult, qualifiedSelection);

            model.Parameters[1].IsRemoved = true;

            //SetupFactory
            var factory = SetupFactory(model);

            //Act
            var refactoring = new RemoveParametersRefactoring(factory.Object);

            refactoring.Refactor(qualifiedSelection);

            //Assert
            Assert.AreEqual(expectedCode, _module.Object.Lines());
        }
コード例 #3
0
 public RemoveParametersPresenter(IRefactoringDialog <RemoveParametersViewModel> view, RemoveParametersModel model, IMessageBox messageBox)
 {
     _view       = view;
     _model      = model;
     _messageBox = messageBox;
 }
コード例 #4
0
        private static Mock <IRefactoringPresenterFactory <IRemoveParametersPresenter> > SetupFactory(RemoveParametersModel model)
        {
            var presenter = new Mock <IRemoveParametersPresenter>();

            presenter.Setup(p => p.Show()).Returns(model);

            var factory = new Mock <IRefactoringPresenterFactory <IRemoveParametersPresenter> >();

            factory.Setup(f => f.Create()).Returns(presenter.Object);
            return(factory);
        }