Exemplo n.º 1
0
 private static ExportAllCommand ArrangeExportAllCommand(
     Mock <IVBE> vbe,
     Mock <IFileSystemBrowserFactory> mockFolderBrowserFactory,
     IProjectsProvider projectsProvider = null)
 {
     return(ArrangeExportAllCommand(vbe, mockFolderBrowserFactory, MockVbeEvents.CreateMockVbeEvents(vbe), projectsProvider));
 }
Exemplo n.º 2
0
        public MockedCodeExplorer(ProjectType projectType, ComponentType componentType = ComponentType.StandardModule, string code = "") : this()
        {
            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", ProjectProtection.Unprotected, projectType)
                          .AddComponent("TestModule", componentType, code);

            VbComponents       = project.MockVBComponents;
            VbComponent        = project.MockComponents.First();
            VbProject          = project.Build();
            Vbe                = builder.AddProject(VbProject).Build();
            VbeEvents          = MockVbeEvents.CreateMockVbeEvents(Vbe);
            ProjectsRepository = new Mock <IProjectsRepository>();
            ProjectsRepository.Setup(x => x.Project(It.IsAny <string>())).Returns(VbProject.Object);
            ProjectsRepository.Setup(x => x.Component(It.IsAny <QualifiedModuleName>())).Returns(VbComponent.Object);

            SetupViewModelAndParse();
        }
Exemplo n.º 3
0
        public void UnparsedSetToTrue_NoProjects()
        {
            var builder    = new MockVbeBuilder();
            var vbe        = builder.Build();
            var parser     = MockParser.Create(vbe.Object, null, MockVbeEvents.CreateMockVbeEvents(vbe));
            var state      = parser.State;
            var dispatcher = new Mock <IUiDispatcher>();

            dispatcher.Setup(m => m.Invoke(It.IsAny <Action>())).Callback((Action argument) => argument.Invoke());

            var viewModel = new CodeExplorerViewModel(state, null, null, null, dispatcher.Object, vbe.Object, null, new CodeExplorerSyncProvider(vbe.Object, state));

            parser.Parse(new CancellationTokenSource());
            if (parser.State.Status >= ParserState.Error)
            {
                Assert.Inconclusive("Parser Error");
            }

            Assert.IsTrue(viewModel.Unparsed);
        }
Exemplo n.º 4
0
        private void SetupViewModelAndParse()
        {
            var parser = MockParser.Create(Vbe.Object, null, MockVbeEvents.CreateMockVbeEvents(Vbe));

            State = parser.State;

            var removeCommand = new RemoveCommand(BrowserFactory.Object, MessageBox.Object, State.ProjectsProvider);

            ViewModel = new CodeExplorerViewModel(State, removeCommand,
                                                  _generalSettingsProvider.Object,
                                                  _windowSettingsProvider.Object,
                                                  _uiDispatcher.Object, Vbe.Object,
                                                  null,
                                                  new CodeExplorerSyncProvider(Vbe.Object, State));

            parser.Parse(new CancellationTokenSource());
            if (parser.State.Status >= ParserState.Error)
            {
                Assert.Inconclusive("Parser Error");
            }
        }
Exemplo n.º 5
0
        public MockedCodeExplorer(ProjectType projectType,
                                  IReadOnlyList <ComponentType> componentTypes,
                                  IReadOnlyList <string> code = null) : this()
        {
            if (code != null && componentTypes.Count != code.Count)
            {
                Assert.Inconclusive("MockedCodeExplorer Setup Error");
            }

            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", ProjectProtection.Unprotected, projectType);

            for (var index = 0; index < componentTypes.Count; index++)
            {
                var item = componentTypes[index];
                if (item == ComponentType.UserForm)
                {
                    project.MockUserFormBuilder($"{item}{index}", code is null ? string.Empty : code[index]).AddFormToProjectBuilder();
                }
                else
                {
                    project.AddComponent($"{item}{index}", item, code is null ? string.Empty : code[index]);
                }
            }

            VbComponents       = project.MockVBComponents;
            VbComponent        = project.MockComponents.First();
            VbProject          = project.Build();
            Vbe                = builder.AddProject(VbProject).Build();
            VbeEvents          = MockVbeEvents.CreateMockVbeEvents(Vbe);
            ProjectsRepository = new Mock <IProjectsRepository>();
            ProjectsRepository.Setup(x => x.Project(It.IsAny <string>())).Returns(VbProject.Object);
            ProjectsRepository.Setup(x => x.Component(It.IsAny <QualifiedModuleName>())).Returns(VbComponent.Object);

            SetupViewModelAndParse();

            VbProject.SetupGet(m => m.VBComponents.Count).Returns(componentTypes.Count);
        }
        public void RemoveRemovesComment()
        {
            const string inputCode =
                @"Dim d As Variant  ' bug should be Integer";

            const string expected =
                @"Dim d As Variant  ";

            var builder = new MockVbeBuilder();
            var project = builder.ProjectBuilder("TestProject1", ProjectProtection.Unprotected)
                          .AddComponent("Module1", ComponentType.StandardModule, inputCode)
                          .Build();

            var vbe       = builder.AddProject(project).Build();
            var vbeEvents = MockVbeEvents.CreateMockVbeEvents(vbe);

            var parser = MockParser.Create(vbe.Object, vbeEvents: vbeEvents);

            using (var state = parser.State)
            {
                var cs = GetConfigService(new[] { "TODO", "NOTE", "BUG" });
                var vm = ArrangeViewModel(state, cs);

                parser.Parse(new CancellationTokenSource());
                if (state.Status >= ParserState.Error)
                {
                    Assert.Inconclusive("Parser Error");
                }

                vm.SelectedItem = vm.Items.OfType <ToDoItem>().Single();
                vm.RemoveCommand.Execute(null);

                var module = project.Object.VBComponents[0].CodeModule;
                Assert.AreEqual(expected, module.Content());
            }
        }
Exemplo n.º 7
0
 private static FindAllImplementationsCommand ArrangeFindAllImplementationsCommand(RubberduckParserState state,
                                                                                   Mock <IVBE> vbe, ISearchResultsWindowViewModel viewModel, FindAllImplementationsService finder)
 {
     return(ArrangeFindAllImplementationsCommand(state, vbe, viewModel, finder, MockVbeEvents.CreateMockVbeEvents(vbe)));
 }
Exemplo n.º 8
0
        private static (ComCommandBase comCommand, Mock <IVbeEvents> vbeEvents) ArrangeComCommand(Mock <IVBE> vbe)
        {
            var vbeEvents = MockVbeEvents.CreateMockVbeEvents(vbe);

            return(ArranageComCommand(vbeEvents.Object), vbeEvents);
        }
Exemplo n.º 9
0
 private static ExportAllCommand ArrangeExportAllCommand(Mock <IVBE> vbe,
                                                         Mock <IFileSystemBrowserFactory> mockFolderBrowserFactory)
 {
     return(ArrangeExportAllCommand(vbe, mockFolderBrowserFactory, MockVbeEvents.CreateMockVbeEvents(vbe)));
 }
Exemplo n.º 10
0
 internal static IndentCurrentProcedureCommand ArrangeIndentCurrentProcedureCommand(Mock <IVBE> vbe,
                                                                                    IIndenter indenter, RubberduckParserState state)
 {
     return(ArrangeIndentCurrentProcedureCommand(vbe, indenter, state, MockVbeEvents.CreateMockVbeEvents(vbe)));
 }
Exemplo n.º 11
0
 internal static NoIndentAnnotationCommand ArrangeNoIndentAnnotationCommand(Mock <IVBE> vbe, RubberduckParserState state, IRewritingManager rewritingManager)
 {
     return(ArrangeNoIndentAnnotationCommand(vbe, state, rewritingManager, MockVbeEvents.CreateMockVbeEvents(vbe)));
 }