示例#1
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));
        }
示例#2
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 baseRefactoring = new RemoveParameterRefactoringAction(state, rewritingManager);
                var userInteraction = new RefactoringUserInteraction <IRemoveParametersPresenter, RemoveParametersModel>(factory, uiDispatcherMock.Object);
                var refactoring     = new RemoveParametersRefactoring(baseRefactoring, state, userInteraction, selectionService, selectedDeclarationProvider);
                new RemoveUnusedParameterQuickFix(refactoring)
                .Fix(inspectionResults.First(), rewriteSession);
                Assert.AreEqual(expectedCode, component.CodeModule.Content());
            }
        }
示例#3
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));
        }
示例#4
0
 protected override IRefactoring TestRefactoring(
     IRewritingManager rewritingManager,
     RubberduckParserState state,
     RefactoringUserInteraction <IEncapsulateFieldPresenter, EncapsulateFieldModel> userInteraction,
     ISelectionService selectionService)
 {
     return(Support.SupportTestRefactoring(rewritingManager, state, userInteraction, selectionService));
 }
 public AnnotateDeclarationRefactoring(
     AnnotateDeclarationRefactoringAction annotateDeclarationAction,
     ISelectedDeclarationProvider selectedDeclarationProvider,
     ISelectionProvider selectionProvider,
     RefactoringUserInteraction <IAnnotateDeclarationPresenter, AnnotateDeclarationModel> userInteraction)
     : base(selectionProvider, userInteraction)
 {
     _annotateDeclarationAction   = annotateDeclarationAction;
     _selectedDeclarationProvider = selectedDeclarationProvider;
 }
 public RenameFolderCommand(
     RenameFolderRefactoringAction refactoringAction,
     RefactoringUserInteraction <IRenameFolderPresenter, RenameFolderModel> userInteraction,
     RenameFolderFailedNotifier failureNotifier,
     IParserStatusProvider parserStatusProvider,
     IVbeEvents vbeEvents,
     RubberduckParserState state)
     : base(refactoringAction, userInteraction, failureNotifier, parserStatusProvider, vbeEvents)
 {
     _state = state;
 }
        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));
        }
        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()));
        }
示例#9
0
 public ReorderParametersRefactoring(
     ReorderParameterRefactoringAction refactoringAction,
     IDeclarationFinderProvider declarationFinderProvider,
     RefactoringUserInteraction <IReorderParametersPresenter, ReorderParametersModel> userInteraction,
     ISelectionProvider selectionProvider,
     ISelectedDeclarationProvider selectedDeclarationProvider)
     : base(selectionProvider, userInteraction)
 {
     _refactoringAction           = refactoringAction;
     _declarationFinderProvider   = declarationFinderProvider;
     _selectedDeclarationProvider = selectedDeclarationProvider;
 }
        protected override IRefactoring TestRefactoring(
            IRewritingManager rewritingManager,
            RubberduckParserState state,
            RefactoringUserInteraction <IExtractInterfacePresenter, ExtractInterfaceModel> userInteraction,
            ISelectionService selectionService)
        {
            var addImplementationsBaseRefactoring = new AddInterfaceImplementationsRefactoringAction(rewritingManager, new CodeBuilder());
            var addComponentService = TestAddComponentService(state?.ProjectsProvider);
            var baseRefactoring     = new ExtractInterfaceRefactoringAction(addImplementationsBaseRefactoring, state, state, rewritingManager, state?.ProjectsProvider, addComponentService);

            return(new ExtractInterfaceRefactoring(baseRefactoring, state, userInteraction, selectionService, new CodeBuilder()));
        }
示例#11
0
 public MoveToFolderRefactoring(
     MoveMultipleToFolderRefactoringAction moveToFolderAction,
     ISelectedDeclarationProvider selectedDeclarationProvider,
     ISelectionProvider selectionProvider,
     RefactoringUserInteraction <IMoveMultipleToFolderPresenter, MoveMultipleToFolderModel> userInteraction,
     RubberduckParserState state)
     : base(selectionProvider, userInteraction)
 {
     _moveToFolderAction          = moveToFolderAction;
     _selectedDeclarationProvider = selectedDeclarationProvider;
     _state = state;
 }
 public ExtractInterfaceRefactoring(
     ExtractInterfaceRefactoringAction refactoringAction,
     IDeclarationFinderProvider declarationFinderProvider,
     RefactoringUserInteraction <IExtractInterfacePresenter, ExtractInterfaceModel> userInteraction,
     ISelectionProvider selectionProvider,
     ICodeBuilder codeBuilder)
     : base(selectionProvider, userInteraction)
 {
     _refactoringAction         = refactoringAction;
     _declarationFinderProvider = declarationFinderProvider;
     _codeBuilder = codeBuilder;
 }
 public MoveContainingFolderRefactoring(
     MoveMultipleFoldersRefactoringAction moveFoldersAction,
     ISelectedDeclarationProvider selectedDeclarationProvider,
     ISelectionProvider selectionProvider,
     RefactoringUserInteraction <IMoveMultipleFoldersPresenter, MoveMultipleFoldersModel> userInteraction,
     IDeclarationFinderProvider declarationFinderProvider,
     RubberduckParserState state)
     : base(selectionProvider, userInteraction)
 {
     _moveFoldersAction           = moveFoldersAction;
     _selectedDeclarationProvider = selectedDeclarationProvider;
     _declarationFinderProvider   = declarationFinderProvider;
     _state = state;
 }
示例#14
0
 public RenameRefactoring(
     RenameRefactoringAction refactoringAction,
     RefactoringUserInteraction <IRenamePresenter, RenameModel> userInteraction,
     IDeclarationFinderProvider declarationFinderProvider,
     IProjectsProvider projectsProvider,
     ISelectionProvider selectionProvider,
     ISelectedDeclarationProvider selectedDeclarationProvider)
     : base(selectionProvider, userInteraction)
 {
     _refactoringAction           = refactoringAction;
     _declarationFinderProvider   = declarationFinderProvider;
     _selectedDeclarationProvider = selectedDeclarationProvider;
     _projectsProvider            = projectsProvider;
 }
 public EncapsulateFieldRefactoring(
     EncapsulateFieldRefactoringAction refactoringAction,
     EncapsulateFieldPreviewProvider previewProvider,
     IEncapsulateFieldModelFactory encapsulateFieldModelFactory,
     RefactoringUserInteraction <IEncapsulateFieldPresenter, EncapsulateFieldModel> userInteraction,
     ISelectionProvider selectionProvider,
     ISelectedDeclarationProvider selectedDeclarationProvider)
     : base(selectionProvider, userInteraction)
 {
     _refactoringAction           = refactoringAction;
     _previewProvider             = previewProvider;
     _selectedDeclarationProvider = selectedDeclarationProvider;
     _modelFactory = encapsulateFieldModelFactory;
 }
示例#16
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));
        }
示例#17
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));
        }
        public IRefactoring SupportTestRefactoring(
            IRewritingManager rewritingManager,
            RubberduckParserState state,
            RefactoringUserInteraction <IEncapsulateFieldPresenter, EncapsulateFieldModel> userInteraction,
            ISelectionService selectionService)
        {
            var resolver = SetupResolver(state, rewritingManager, selectionService);

            return(new EncapsulateFieldRefactoring(resolver.Resolve <EncapsulateFieldRefactoringAction>(),
                                                   resolver.Resolve <EncapsulateFieldPreviewProvider>(),
                                                   resolver.Resolve <IEncapsulateFieldModelFactory>(),
                                                   userInteraction,
                                                   selectionService,
                                                   resolver.Resolve <ISelectedDeclarationProvider>()));
        }
示例#19
0
        public AnnotateDeclarationCommand(
            AnnotateDeclarationRefactoringAction annotateAction,
            AnnotateDeclarationFailedNotifier failureNotifier,
            RefactoringUserInteraction <IAnnotateDeclarationPresenter, AnnotateDeclarationModel> userInteraction,
            IVbeEvents vbeEvents,
            RubberduckParserState state)
            : base(vbeEvents)
        {
            _annotateAction  = annotateAction;
            _failureNotifier = failureNotifier;
            _userInteraction = userInteraction;
            _state           = state;

            AddToCanExecuteEvaluation(SpecialEvaluateCanExecute);
        }
示例#20
0
        public CodeExplorerMoveToFolderCommand(
            MoveMultipleFoldersRefactoringAction moveFolders,
            RefactoringUserInteraction <IMoveMultipleFoldersPresenter, MoveMultipleFoldersModel> moveFoldersInteraction,
            MoveMultipleToFolderRefactoringAction moveToFolder,
            RefactoringUserInteraction <IMoveMultipleToFolderPresenter, MoveMultipleToFolderModel> moveToFolderInteraction,
            MoveToFolderRefactoringFailedNotifier failureNotifier,
            IParserStatusProvider parserStatusProvider,
            IVbeEvents vbeEvents,
            RubberduckParserState state)
            : base(moveFolders, moveToFolder, failureNotifier, parserStatusProvider, vbeEvents, state)
        {
            _moveFoldersInteraction  = moveFoldersInteraction;
            _moveToFolderInteraction = moveToFolderInteraction;

            AddToCanExecuteEvaluation(SpecialEvaluateCanExecute);
        }
 public EncapsulateFieldRefactoring(
     IDeclarationFinderProvider declarationFinderProvider,
     IIndenter indenter,
     RefactoringUserInteraction <IEncapsulateFieldPresenter, EncapsulateFieldModel> userInteraction,
     IRewritingManager rewritingManager,
     ISelectionProvider selectionProvider,
     ISelectedDeclarationProvider selectedDeclarationProvider,
     ICodeBuilder codeBuilder)
     : base(selectionProvider, userInteraction)
 {
     _declarationFinderProvider   = declarationFinderProvider;
     _selectedDeclarationProvider = selectedDeclarationProvider;
     _indenter         = indenter;
     _codeBuilder      = codeBuilder;
     _rewritingManager = rewritingManager;
 }
        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));
        }
        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 addImplementationsBaseRefactoring = new AddInterfaceImplementationsRefactoringAction(rewritingManager, new CodeBuilder());
            var addComponentService = TestAddComponentService(state.ProjectsProvider);
            var baseRefactoring     = new ExtractInterfaceRefactoringAction(addImplementationsBaseRefactoring, state, state, rewritingManager, state.ProjectsProvider, addComponentService);
            var userInteraction     = new RefactoringUserInteraction <IExtractInterfacePresenter, ExtractInterfaceModel>(factory, uiDispatcherMock.Object);
            var refactoring         = new ExtractInterfaceRefactoring(baseRefactoring, state, userInteraction, selectionService, new CodeBuilder());
            var notifier            = new ExtractInterfaceFailedNotifier(msgBox);

            return(new RefactorExtractInterfaceCommand(refactoring, notifier, state, selectionService));
        }
示例#24
0
 protected override IRefactoring TestRefactoring(IRewritingManager rewritingManager, RubberduckParserState state, RefactoringUserInteraction <IEncapsulateFieldPresenter, EncapsulateFieldModel> userInteraction, ISelectionService selectionService)
 {
     throw new NotImplementedException();
 }