Exemplo n.º 1
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));
        }
        public CodeExplorerMoveToFolderDragAndDropCommand(
            MoveMultipleFoldersRefactoringAction moveFolders,
            MoveMultipleToFolderRefactoringAction moveToFolder,
            MoveToFolderRefactoringFailedNotifier failureNotifier,
            IParserStatusProvider parserStatusProvider,
            IVbeEvents vbeEvents,
            IMessageBox messageBox,
            IDeclarationFinderProvider declarationFinderProvider,
            RubberduckParserState state)
            : base(moveFolders, moveToFolder, failureNotifier, parserStatusProvider, vbeEvents, state)
        {
            _declarationFinderProvider = declarationFinderProvider;
            _messageBox = messageBox;

            AddToCanExecuteEvaluation(SpecialEvaluateCanExecute);
        }
Exemplo n.º 3
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);
        }
        protected override IRefactoring TestRefactoring(
            IRewritingManager rewritingManager,
            RubberduckParserState state,
            RefactoringUserInteraction <IMoveMultipleFoldersPresenter, MoveMultipleFoldersModel> userInteraction,
            ISelectionService selectionService)
        {
            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);

            return(new MoveContainingFolderRefactoring(moveMultipleFoldersAction, selectedDeclarationProvider, selectionService, userInteraction, state, state));
        }
        protected CodeExplorerMoveToFolderCommandBase(
            MoveMultipleFoldersRefactoringAction moveFolders,
            MoveMultipleToFolderRefactoringAction moveToFolder,
            MoveToFolderRefactoringFailedNotifier failureNotifier,
            IParserStatusProvider parserStatusProvider,
            IVbeEvents vbeEvents,
            RubberduckParserState state)
            : base(vbeEvents)
        {
            _moveFolders  = moveFolders;
            _moveToFolder = moveToFolder;

            _parserStatusProvider = parserStatusProvider;
            _state           = state;
            _failureNotifier = failureNotifier;

            AddToCanExecuteEvaluation(SpecialEvaluateCanExecute);
        }