private static (Declaration specifiedDeclaration, Declaration selectedDeclaration) DeclarationsFromParse(
            IVBE vbe,
            DeclarationType declarationType,
            string declarationName,
            string parentScope = null)
        {
            using (var state = MockParser.CreateAndParse(vbe))
            {
                var selectionProvider           = new SelectionService(vbe, state.ProjectsProvider);
                var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionProvider, state);

                var specifiedDeclaration = parentScope == null
                    ? state.DeclarationFinder
                                           .DeclarationsWithType(declarationType)
                                           .Single(declaration => declaration.IdentifierName.Equals(declarationName))
                    : state.DeclarationFinder
                                           .DeclarationsWithType(declarationType)
                                           .Single(declaration => declaration.IdentifierName.Equals(declarationName) &&
                                                   declaration.ParentScope.Equals(parentScope));

                var selectedDeclaration = selectedDeclarationProvider.SelectedDeclaration();

                return(specifiedDeclaration, selectedDeclaration);
            }
        }
        public SyncCodeExplorerCommand GetSyncCommand(CodeExplorerViewModel explorer)
        {
            var selectionService           = new SelectionService(_vbe, _state.ProjectsProvider);
            var selectedDeclarationService = new SelectedDeclarationProvider(selectionService, _state);

            return(new SyncCodeExplorerCommand(_vbe, _state, _state, selectedDeclarationService, explorer, _vbeEvents));
        }
Esempio n. 3
0
        protected override CommandBase TestCommand(
            IVBE vbe, RubberduckParserState state,
            IRewritingManager rewritingManager,
            ISelectionService selectionService)
        {
            var factory = new Mock <IRefactoringPresenterFactory>().Object;
            var msgBox  = new Mock <IMessageBox>().Object;

            var uiDispatcherMock = new Mock <IUiDispatcher>();

            uiDispatcherMock
            .Setup(m => m.Invoke(It.IsAny <Action>()))
            .Callback((Action action) => action.Invoke());
            var userInteraction = new RefactoringUserInteraction <IAnnotateDeclarationPresenter, AnnotateDeclarationModel>(factory, uiDispatcherMock.Object);

            var annotationUpdater         = new AnnotationUpdater(state);
            var attributesUpdater         = new AttributesUpdater(state);
            var annotateDeclarationAction = new AnnotateDeclarationRefactoringAction(rewritingManager, annotationUpdater, attributesUpdater);

            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);

            var refactoring = new AnnotateDeclarationRefactoring(annotateDeclarationAction, selectedDeclarationProvider, selectionService, userInteraction);
            var notifier    = new AnnotateDeclarationFailedNotifier(msgBox);

            return(new AnnotateSelectedMemberCommand(refactoring, notifier, selectionService, state, state, selectedDeclarationProvider));
        }
Esempio n. 4
0
        //The only relevant test is in the base class.

        protected override CommandBase TestCommand(
            IVBE vbe,
            RubberduckParserState state,
            IRewritingManager rewritingManager,
            ISelectionService selectionService)
        {
            var factory = new Mock <IRefactoringPresenterFactory>().Object;
            var msgBox  = new Mock <IMessageBox>().Object;

            var uiDispatcherMock = new Mock <IUiDispatcher>();

            uiDispatcherMock
            .Setup(m => m.Invoke(It.IsAny <Action>()))
            .Callback((Action action) => action.Invoke());
            var userInteraction = new RefactoringUserInteraction <IMoveMultipleFoldersPresenter, MoveMultipleFoldersModel>(factory, uiDispatcherMock.Object);

            var annotationUpdater         = new AnnotationUpdater(state);
            var moveToFolderAction        = new MoveToFolderRefactoringAction(rewritingManager, annotationUpdater);
            var changeFolderAction        = new ChangeFolderRefactoringAction(rewritingManager, moveToFolderAction);
            var moveFolderAction          = new MoveFolderRefactoringAction(rewritingManager, changeFolderAction);
            var moveMultipleFoldersAction = new MoveMultipleFoldersRefactoringAction(rewritingManager, moveFolderAction);

            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);

            var refactoring = new MoveContainingFolderRefactoring(moveMultipleFoldersAction, selectedDeclarationProvider, selectionService, userInteraction, state, state);
            var notifier    = new MoveContainingFolderRefactoringFailedNotifier(msgBox);

            return(new CodePaneRefactorMoveContainingFolderCommand(refactoring, notifier, selectionService, state, selectedDeclarationProvider));
        }
Esempio n. 5
0
        public void GivenPrivateSub_DefaultQuickFixRemovesParameter()
        {
            const string inputCode = @"
Private Sub Foo(ByVal arg1 as Integer)
End Sub";

            const string expectedCode = @"
Private Sub Foo()
End Sub";

            var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out var component);

            var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object);
            using (state)
            {
                var inspection        = new ParameterNotUsedInspection(state);
                var inspectionResults = inspection.GetInspectionResults(CancellationToken.None);
                var rewriteSession    = rewritingManager.CheckOutCodePaneSession();
                var selectionService  = MockedSelectionService();

                var factory = new Mock <IRefactoringPresenterFactory>().Object;
                var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
                var uiDispatcherMock            = new Mock <IUiDispatcher>();
                uiDispatcherMock
                .Setup(m => m.Invoke(It.IsAny <Action>()))
                .Callback((Action action) => action.Invoke());
                var refactoring = new RemoveParametersRefactoring(state, factory, rewritingManager, selectionService, selectedDeclarationProvider, uiDispatcherMock.Object);
                new RemoveUnusedParameterQuickFix(refactoring)
                .Fix(inspectionResults.First(), rewriteSession);
                Assert.AreEqual(expectedCode, component.CodeModule.Content());
            }
        }
        protected override IRefactoring TestRefactoring(IRewritingManager rewritingManager, RubberduckParserState state, ISelectionService selectionService)
        {
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
            var baseRefactoring             = new IntroduceFieldRefactoringAction(state, rewritingManager);

            return(new IntroduceFieldRefactoring(baseRefactoring, selectionService, selectedDeclarationProvider));
        }
Esempio n. 7
0
        internal static NoIndentAnnotationCommand ArrangeNoIndentAnnotationCommand(Mock <IVBE> vbe, RubberduckParserState state, IRewritingManager rewritingManager, Mock <IVbeEvents> vbeEvents)
        {
            var selectionService           = new SelectionService(vbe.Object, state.ProjectsProvider);
            var selectedDeclarationService = new SelectedDeclarationProvider(selectionService, state);

            return(new NoIndentAnnotationCommand(selectedDeclarationService, rewritingManager, new AnnotationUpdater(), vbeEvents.Object));
        }
Esempio n. 8
0
        protected override CommandBase TestCommand(IVBE vbe, RubberduckParserState state, IRewritingManager rewritingManager, ISelectionService selectionService)
        {
            var msgBox = new Mock <IMessageBox>().Object;
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
            var refactoring = new IntroduceFieldRefactoring(state, rewritingManager, selectionService, selectedDeclarationProvider);
            var notifier    = new IntroduceFieldFailedNotifier(msgBox);

            return(new RefactorIntroduceFieldCommand(refactoring, notifier, state, selectionService, selectedDeclarationProvider));
        }
Esempio n. 9
0
        private static FindAllImplementationsCommand ArrangeFindAllImplementationsCommand(RubberduckParserState state,
                                                                                          Mock <IVBE> vbe, ISearchResultsWindowViewModel viewModel, FindAllImplementationsService finder,
                                                                                          Mock <IVbeEvents> vbeEvents)
        {
            var selectionService           = new SelectionService(vbe.Object, state.ProjectsProvider);
            var selectedDeclarationService = new SelectedDeclarationProvider(selectionService, state);

            return(new FindAllImplementationsCommand(state, selectedDeclarationService, viewModel, finder, vbeEvents.Object));
        }
Esempio n. 10
0
        private static IRefactoring TestRefactoring(IRewritingManager rewritingManager, RubberduckParserState state, ISelectionService selectionService, IMessageBox msgBox)
        {
            if (msgBox == null)
            {
                msgBox = new Mock <IMessageBox>().Object;
            }
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);

            return(new IntroduceParameterRefactoring(state, msgBox, rewritingManager, selectionService, selectedDeclarationProvider));
        }
        protected override CommandBase TestCommand(IVBE vbe, RubberduckParserState state, IRewritingManager rewritingManager, ISelectionService selectionService)
        {
            var msgBox = new Mock <IMessageBox>().Object;
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
            var baseRefactoring             = new MoveCloserToUsageRefactoringAction(rewritingManager);
            var refactoring = new MoveCloserToUsageRefactoring(baseRefactoring, state, selectionService, selectedDeclarationProvider);
            var notifier    = new MoveCloserToUsageFailedNotifier(msgBox);
            var selectedDeclarationService = new SelectedDeclarationProvider(selectionService, state);

            return(new RefactorMoveCloserToUsageCommand(refactoring, notifier, state, selectionService, selectedDeclarationService));
        }
        protected override IRefactoring TestRefactoring(IRewritingManager rewritingManager, RubberduckParserState state, IRefactoringPresenterFactory factory, ISelectionService selectionService)
        {
            var indenter = CreateIndenter(); //The refactoring only uses method independent of the VBE instance.
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
            var uiDispatcherMock            = new Mock <IUiDispatcher>();

            uiDispatcherMock
            .Setup(m => m.Invoke(It.IsAny <Action>()))
            .Callback((Action action) => action.Invoke());
            return(new EncapsulateFieldRefactoring(state, indenter, factory, rewritingManager, selectionService, selectedDeclarationProvider, uiDispatcherMock.Object));
        }
        public IRefactoring SupportTestRefactoring(
            IRewritingManager rewritingManager,
            RubberduckParserState state,
            RefactoringUserInteraction <IEncapsulateFieldPresenter, EncapsulateFieldModel> userInteraction,
            ISelectionService selectionService)
        {
            var indenter = CreateIndenter();
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);

            return(new EncapsulateFieldRefactoring(state, indenter, userInteraction, rewritingManager, selectionService, selectedDeclarationProvider, new CodeBuilder()));
        }
        protected override IRefactoring TestRefactoring(
            IRewritingManager rewritingManager,
            RubberduckParserState state,
            RefactoringUserInteraction <IReorderParametersPresenter, ReorderParametersModel> userInteraction,
            ISelectionService selectionService)
        {
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
            var baseRefactoring             = new ReorderParameterRefactoringAction(state, rewritingManager);

            return(new ReorderParametersRefactoring(baseRefactoring, state, userInteraction, selectionService, selectedDeclarationProvider));
        }
Esempio n. 15
0
        protected override IRefactoring TestRefactoring(
            IRewritingManager rewritingManager,
            RubberduckParserState state,
            RefactoringUserInteraction <IMoveMultipleToFolderPresenter, MoveMultipleToFolderModel> userInteraction,
            ISelectionService selectionService)
        {
            var annotationUpdater          = new AnnotationUpdater(state);
            var moveToFolderAction         = new MoveToFolderRefactoringAction(rewritingManager, annotationUpdater);
            var moveMultipleToFolderAction = new MoveMultipleToFolderRefactoringAction(rewritingManager, moveToFolderAction);

            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);

            return(new MoveToFolderRefactoring(moveMultipleToFolderAction, selectedDeclarationProvider, selectionService, userInteraction, state));
        }
Esempio n. 16
0
        protected override IRefactoring TestRefactoring(
            IRewritingManager rewritingManager,
            RubberduckParserState state,
            RefactoringUserInteraction <IAnnotateDeclarationPresenter, AnnotateDeclarationModel> userInteraction,
            ISelectionService selectionService)
        {
            var annotationUpdater         = new AnnotationUpdater(state);
            var attributesUpdater         = new AttributesUpdater(state);
            var annotateDeclarationAction = new AnnotateDeclarationRefactoringAction(rewritingManager, annotationUpdater, attributesUpdater);

            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);

            return(new AnnotateDeclarationRefactoring(annotateDeclarationAction, selectedDeclarationProvider, selectionService, userInteraction));
        }
        protected override IRefactoring TestRefactoring(
            IRewritingManager rewritingManager,
            RubberduckParserState state,
            IRefactoringPresenterFactory factory,
            ISelectionService selectionService)
        {
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
            var uiDispatcherMock            = new Mock <IUiDispatcher>();

            uiDispatcherMock
            .Setup(m => m.Invoke(It.IsAny <Action>()))
            .Callback((Action action) => action.Invoke());
            return(new ReorderParametersRefactoring(state, factory, rewritingManager, selectionService, selectedDeclarationProvider, uiDispatcherMock.Object));
        }
Esempio n. 18
0
        protected override CommandBase TestCommand(IVBE vbe, RubberduckParserState state, IRewritingManager rewritingManager, ISelectionService selectionService)
        {
            var factory = new Mock <IRefactoringPresenterFactory>().Object;
            var msgBox  = new Mock <IMessageBox>().Object;
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
            var uiDispatcherMock            = new Mock <IUiDispatcher>();

            uiDispatcherMock
            .Setup(m => m.Invoke(It.IsAny <Action>()))
            .Callback((Action action) => action.Invoke());
            var refactoring = new ReorderParametersRefactoring(state, factory, rewritingManager, selectionService, selectedDeclarationProvider, uiDispatcherMock.Object);
            var notifier    = new ReorderParametersFailedNotifier(msgBox);

            return(new RefactorReorderParametersCommand(refactoring, notifier, state, selectionService, selectedDeclarationProvider));
        }
        protected override CommandBase TestCommand(IVBE vbe, RubberduckParserState state, IRewritingManager rewritingManager, ISelectionService selectionService)
        {
            var msgBox  = new Mock <IMessageBox>().Object;
            var factory = new Mock <IRefactoringPresenterFactory>().Object;
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
            var uiDispatcherMock            = new Mock <IUiDispatcher>();

            uiDispatcherMock
            .Setup(m => m.Invoke(It.IsAny <Action>()))
            .Callback((Action action) => action.Invoke());
            var userInteraction            = new RefactoringUserInteraction <IEncapsulateFieldPresenter, EncapsulateFieldModel>(factory, uiDispatcherMock.Object);
            var refactoring                = new EncapsulateFieldRefactoring(state, null, userInteraction, rewritingManager, selectionService, selectedDeclarationProvider, new CodeBuilder());
            var notifier                   = new EncapsulateFieldFailedNotifier(msgBox);
            var selectedDeclarationService = new SelectedDeclarationProvider(selectionService, state);

            return(new RefactorEncapsulateFieldCommand(refactoring, notifier, state, selectionService, selectedDeclarationService));
        }
        private string ApplyQuickFixToFirstInspectionResult(string inputCode)
        {
            var vbe = MockVbeBuilder.BuildFromSingleStandardModule(inputCode, out var component);

            var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object);
            using (state)
            {
                var inspection                  = new MoveFieldCloserToUsageInspection(state);
                var inspectionResults           = inspection.GetInspectionResults(CancellationToken.None);
                var resultToFix                 = inspectionResults.First();
                var rewriteSession              = rewritingManager.CheckOutCodePaneSession();
                var selectionService            = MockedSelectionService();
                var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);
                var refactoring                 = new MoveCloserToUsageRefactoring(state, rewritingManager, selectionService, selectedDeclarationProvider);
                var quickFix = new MoveFieldCloserToUsageQuickFix(refactoring);

                quickFix.Fix(resultToFix, rewriteSession);

                return(component.CodeModule.Content());
            }
        }
        protected override IRefactoring TestRefactoring(IRewritingManager rewritingManager, RubberduckParserState state, ISelectionService selectionService)
        {
            var selectedDeclarationProvider = new SelectedDeclarationProvider(selectionService, state);

            return(new MoveCloserToUsageRefactoring(state, rewritingManager, selectionService, selectedDeclarationProvider));
        }