private RubberduckParserState Resolve(params Tuple<string,vbext_ComponentType>[] components) { var builder = new MockVbeBuilder(); var projectBuilder = builder.ProjectBuilder("TestProject", vbext_ProjectProtection.vbext_pp_none); for (var i = 0; i < components.Length; i++) { projectBuilder.AddComponent("Component" + (i + 1), components[i].Item2, components[i].Item1); } var project = projectBuilder.Build(); builder.AddProject(project); var vbe = builder.Build(); var parser = MockParser.Create(vbe.Object, new RubberduckParserState()); parser.Parse(); if (parser.State.Status != ParserState.Ready) { Assert.Inconclusive("Parser state should be 'Ready', but returns '{0}'.", parser.State.Status); } return parser.State; }
public void Presenter_NullTargetReturnsNullModel() { //Input const string inputCode = @" Private Sub Foo(ByVal arg1 As Integer, ByVal arg2 As String) End Sub"; var selection = Selection.Home; //Arrange var builder = new MockVbeBuilder(); var projectBuilder = builder.ProjectBuilder("TestProject1", vbext_ProjectProtection.vbext_pp_none); projectBuilder.AddComponent("Module1", vbext_ComponentType.vbext_ct_StdModule, inputCode); var project = projectBuilder.Build(); builder.AddProject(project); var vbe = builder.Build(); var codePaneFactory = new CodePaneWrapperFactory(); var mockHost = new Mock<IHostApplication>(); mockHost.SetupAllProperties(); var parser = MockParser.Create(vbe.Object, new RubberduckParserState()); parser.Parse(); if (parser.State.Status == ParserState.Error) { Assert.Inconclusive("Parser Error"); } var codePane = project.Object.VBComponents.Item(0).CodeModule.CodePane; var ext = codePaneFactory.Create(codePane); ext.Selection = selection; var qualifiedSelection = new QualifiedSelection(new QualifiedModuleName(codePane.CodeModule.Parent), selection); var editor = new Mock<IActiveCodePaneEditor>(); editor.Setup(e => e.GetSelection()).Returns(qualifiedSelection); var factory = new EncapsulateFieldPresenterFactory(parser.State, editor.Object, null); var presenter = factory.Create(); Assert.AreEqual(null, presenter.Show()); }
public void Factory_NullSelectionReturnsNullPresenter() { //Input const string inputCode = @"Private fizz As Integer"; //Arrange var builder = new MockVbeBuilder(); var projectBuilder = builder.ProjectBuilder("TestProject1", vbext_ProjectProtection.vbext_pp_none); projectBuilder.AddComponent("Module1", vbext_ComponentType.vbext_ct_StdModule, inputCode); var project = projectBuilder.Build(); builder.AddProject(project); var vbe = builder.Build(); var mockHost = new Mock<IHostApplication>(); mockHost.SetupAllProperties(); var parser = MockParser.Create(vbe.Object, new RubberduckParserState()); parser.Parse(); if (parser.State.Status == ParserState.Error) { Assert.Inconclusive("Parser Error"); } var editor = new Mock<IActiveCodePaneEditor>(); editor.Setup(e => e.GetSelection()).Returns((QualifiedSelection?)null); var factory = new EncapsulateFieldPresenterFactory(parser.State, editor.Object, null); Assert.AreEqual(null, factory.Create()); }